Строки
s = '' # задаём пустую строку
s = '5' * 10 + '3' * 5 # создаём строку из 10 символов '5' и 5 символов '3' '555555555533333'
s = input() # вводим строку с клавиатуры
s='abc123' # присваиваем конкретное значение
Примеры решения задач с помощью строк:
# Вывести на экран символы строки s, стоящие под чётными индексами
s='0123456789'
for i in range(len(s)): # перебираем все индексы строки S i=0,1,2,3,4,5,6,7,8,9
if i%2==0: # если индекс i чётный то печатаем символ стоящий под этим индексом в строке s
print(s[i],end='') # '02468'
# Найти сумму нечётных цифр в строке s
# 1 способ
s='0123456789'
sum=0
for i in s: # перебираем символы строки s i='0','1','2','3','4','5','6','7','8','9'
if int(i)%2!=0: # с помощью int преобразуем символ в цифру и если она нечётная, то находим сумму таких цифр
sum+=int(i) # 1+3+5+7+9
print(sum)
# 2 способ
s='0123456789'
sum=0
for i in s: # перебираем символы строки s i='0','1','2','3','4','5','6','7','8','9'
if i in '13579': # если строка i является подстрокой '13579' то суммируем такие цифры в sum
sum+=int(i) # 1+3+5+7+9
print(sum)
# Найти количество чётных цифр в строке s
s='1234045378'
k=0
for i in s: # перебираем символы строки s
if i in '02468': # если строка i является подстрокой '02468' (т.е. i - строка с чётной цифрой) то считаем количество в k
k+=1
print(k) # в k будет 5
# Срезы
s='0123456789'
print(s[3:8]) # c 3 включительно по 8 не включая '34567'
print(s[:8]) # с начала строки по 8 не включая '01234567'
print(s[3:]) # c символа под индексом 3 до конца '3456789'
print(s[:]) # вся строка
print(s[::2]) # каждый 2 символ всей строки '02468'
print(s[3::3]) # начиная с 3 до конца строки каждый 3 символ '369'
print(s[::-1]) # переворот строки (каждый 1 символ с конца) '9876543210'
print(s[::-2]) # каждый 2 символ всей строки, начиная с последнего '97531'
print(s[-4:-10:-2]) # c -4 по -10 не включая каждый 2 символ '642'
Методы строк
# split() разделяет строку по какому-то символу (пробел по умолчанию) и возвращает список строк
s='kadabra0123a456'
p=s.split('a') #['k', 'd', 'br', '0123', '456']
print(p)
# join() соединяет список строк в 1 строку вставляя разделитель между, указанный в кавычках (возвращает строку)
s='--'.join(p) #k--d--br--0123--456
print(s)
# replace() заменяет все подстроки (1 аргумент) на другую строку (2 аргумент) в 3 аргументе можно указать кол-во замен
# метод возвращает новую строку
s='abrakadabra'
s1=s.replace('a','qq',2).replace('a','www') # qqbrqqkwwwdwwwbrwww
print(s1)
# find() возвращает номер позиции начиная с которой искомая подстрока встречается в строке
s='abrakadabra'
k=s.find('ab') # в k будет 0, т. к. начиная с 0 символа 'ab' встерачется в строке s
k=s.find('ab',5,10) # в k будет 7 и поиск будет в части строки с 5 включительно по 10 не включая - 'adabr'
print(k)
# rfind() возвращает номер последнего вхождения подстроки в строке (или первого вхождения справа)
s='abrakadabra'
k=s.rfind('ab') # в k будет 7, т. к. начиная с 7 символа 'ab' встерачется в строке s последний раз
k=s.rfind('a',0,5) # в k будет 3 и поиск будет в части строки с 0 включительно по 5 не включая - 'abrak'
print(k)
# count() возвращает число - сколько раз искомая подстрока встречается в строке
s='abrakadabra'
k=s.count('a') # в k будет 5, т.к. подстрока 'a' 5 раз встречается в строке s
k=s.count('a',3,7) # также можно ограничить часть строки в которой будет осуществлён поиск 'akad' (k=2)
print(k)
# upper() делает все буквы (русские, английские) заглавными (возвращает новую строку)
s='aBraKAdaBra'
s1= s.upper() # 'ABRAKADABRA'
print(s1)
# lower() делает все буквы (русские, английские) маленькими (возвращает новую строку)
s='aBraKAdaBra'
s1=s.lower() #'abrakadabra'
print(s1)
# capitalize() # делает первую букву в строке заглавной (возвращает новую строку)
s='arakadabra'
s1=s.capitalize() # 'Arakadabra'
print(s1)
# isdigit() # если все символы строки это цифры - возвращает True, иначе False
s='123abc'
print(s.isdigit()) # False
s='12345'
print(s.isdigit()) # True
# isalpha() если все символы строки это буквы - возвращает True, иначе False
s='123abc'
print(s.isalpha()) # False
s='abc'
print(s.isalpha()) # True
Рубрики сайта