Строки в 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 строки вообще являются неизменяемыми, их невозможно изменить.
В текстовом файле .txt (здесь и далее на примерах не разбираются конкретные файлы, поэтому в коде используем формулировку .txt, что подразумевает любой файл, который будет у тебя в задаче) находится цепочка из символов латинского алфавита Q.R,D. Найдите длину самой длинной подцепочки, состоящей из символов 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) # выведет слово конфета