Строки в Python

НАВИГАЦИЯ ПО СТРАНИЦЕ

Строка Длина строки системах счисления
ПОЛНЫЙ ОТВЕТ
БЕЗ ВОДЫ
Без воды — краткий вариант ответа,
легко понять и запомнить

Строка – последовательность символов, заключенная в кавычки или апострофы. Строка – это массив символов.

Например, ‘informatika’ – это строка.

 ‘12345’ – это строка.

Длина строки – количество символов в строке.

n = len (‘victory’)
print(n) # на экран выведется 7

s = ‘ЗИМА’
print(s[2]) # на экран выведется ‘М’. 

s.find (‘A’) # первое вхождение символа A
s.rfind (‘A’) # последнее вхождение символа A
if s[i].isdigit() # условие, проверяющее, что символ в строке s является цифрой. Digit с англ. – цифра

Нумерация символов в строке начинается с 0

Сравнение строк производится слева направо до первого несовпадающего символа. Та строка будет больше, чей первый несовпадающий символ имеет больший код в кодовой таблице.

Строки равны, если они совпадают по длине и содержат одни и те же символы. Например, ‘3Shar’ < ‘SHAR < ‘Shar’ < ‘shar’ < ‘ШАР’ < ‘Шар’ < ‘шар’

m=max(m,c,key=len) – функция max сравниваем две строки m и c именно по длине, а не согласно кодировке.

Обрати внимание, что строки в Python – это неизменяемый тип данных!

Любые операции среза со строкой, вставки или удаления символа создают новые строки и никогда не меняют исходную строку. В Python строки вообще являются неизменяемыми, их невозможно изменить.

  1. В текстовом файле .txt (здесь и далее на примерах не разбираются конкретные файлы, поэтому в коде используем формулировку .txt, что подразумевает любой файл, который будет у тебя в задаче) находится цепочка из символов латинского алфавита Q.R,D. Найдите длину самой длинной подцепочки, состоящей из символов R. Предлагаем два варианта решения:

s=open('*.txt').readline() #открываем файл и считываем строку

c=m='' # объявляем пустые строки. В с будем накапливать символы R, m – вспомогательная строка для подсчета максимальной длины строки с символами R 

for i in range (len(s)):

    if s[i]=='R':

        c=c+s[i]

        m=max(m,c,key=len)#с помощью функции max ищем максимальную строку по длине

    else:

        c='' # если цепочка из символов R прервалась, то начинаем считать заново

print(len(m))
s=open('*.txt').readline()

s=s.replace('Q',' ')# избавляемся от всех символов Q,заменяем их на пробелы

s=s.replace('D',' ')# избавляемся от всех символов D,заменяем их на пробелы

m=max(s.split(), key=len)#сплитуем по пробелу (то есть разделяем нашу последовательность, которая на данный момент состоит из пробелов и только символов R, на подстроки только состоящие из символов R

print(len(m))#выводим максимальную длину получившихся последовательностей из R

Работа в различных системах счисления

Сумма двух цифр в десятичной системе счисления находится в диапазоне от 0 до 18: 

  • bin(x) переводит число х в двоичную СС

  • oct(x) переводит число х в восьмеричную СС

  • hex(x) переводит число х в шестнадцатеричную СС

Помни, что в каждом варианте первые два символа строки – префикс, показывающий систему счисления (0b – bin – двоичная, 0o – oct – восьмеричная, 0x – hex – шестнадцатеричная). Если от префикса нужно избавиться, то можно воспользоваться срезом, print (bin(a) [2:]), который выведет результат, начиная со второго символа и до конца строки (нумерация символов, начинается с 0)

  • int(‘ ’,n) переводит строку из n-ой CC в 10СС 

  • В двоичной системе:

    • четные числа оканчиваются на 0, нечетные – на 1; 

    • числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на 2k, оканчиваются на k нулей.

  • Бит чётности – это дополнительный контрольный бит, который добавляется к двоичному коду так, чтобы количество единиц в полученном двоичном коде стало чётным; если в исходном коде уже было чётное количество единиц, дописывается 0, если нечётное – дописывается 1.

    • при добавлении к двоичной записи числа нуля справа число увеличивается в 2 раза.

    • чтобы отбросить последнюю цифру в двоичной записи, нужно разделить число на 2 нацело.

На языке Python строка имеет тип str:

  • y = str(100111) переводит число в строковый формат

  • z = int(‘100111’) переводит строку в числовой формат

Операции со строками:

  • Длина строки – количество символов в строке

n = len (‘victory’)
print(n) # на экран выведется 7
s = ‘ЗИМА’
print(s[2]) # на экран выведется ‘М’. 

Нумерация символов в строке начинается с 0

  • s.count(‘1’) – подсчитывает количество единиц в строке s

  • Выделение части подстроки (срезы):

    • s[a:b] выделяет из строки s подстроку, начиная с позиции a до b-1;

    • s[:b] выделяет из строки s подстроку, начиная с начала до b-1;

    • s[a:] выделяет из строки s подстроку, начиная с позиции a до конца;

    • d = s[-1] – выделяет первый символ с правой стороны.

Например:

s = 'телеконференция'
v = s[4:9] + s[0]+'а'
print(v) # выведет слово конфета