top of page


Методы строк
 

Задача 1. Заглавные буквы

На вход программе подается строка состоящая из имени и фамилии человека, разделенных одним пробелом. Напишите программу, которая проверяет, что имя и фамилия начинаются с заглавной буквы.

a=input()

b = a.title()

if a==b:

    print('YES')

else:

    print('NO')

 

Задача 2. sWAP cASE

На вход программе подается строка. Напишите программу, которая меняет регистр символов, другими словами замените все строчные символы заглавными и наоборот.

a=input()

print(a.swapcase())

Задача 3.Хороший оттенок

На вход программе подается строка текста. Напишите программу, которая определяет является ли оттенок текста хорошим или нет. Текст имеет хороший оттенок, если содержит подстроку «хорош» во всевозможных регистрах.

a=input()

print(['NO','YES'][bool('хорош' in a.lower())])

 

Задача 4.Нижний регистр

На вход программе подается строка. Напишите программу, которая подсчитывает количество буквенных символов в нижнем регистре.

s = input()

k=0

for i in (s):

    if i!=i.upper():

        k+=1

print(k)

 

Задача 5.Количество слов

На вход программе подается строка текста, состоящая из слов, разделенных ровно одним пробелом. Напишите программу, которая подсчитывает количество слов в ней.

s = input()

print(s.count(' ')+1)

 

Задача 6.Минутка генетики

На вход программе подается строка генетического кода, состоящая из букв А (аденин), Г (гуанин), Ц (цитозин), Т (тимин). Напишите программу, которая подсчитывает сколько аденина, гуанина, цитозина и тимина входит в данную строку генетического кода.

s = input()

s = s.lower()

print("Аденин:", s.count('а'))

print("Гуанин:", s.count('г'))

print("Цитозин:", s.count('ц'))

print("Тимин:", s.count('т'))

 

Задача 7.Очень странные дела

Джим Хоппер с помощью радиоприемника пытается получить сообщение Оди. На приемник ему поступает n различных последовательностей кода Морзе. Декодировав их, он получает последовательности из цифр и букв строчного латинского алфавита. При этом только в сообщениях Оди содержится число 1111, причем минимум 33 раза. Помогите определить Джиму количество сообщений от Оди.

n=int(input())

k=0

for i in range (n):

    n1=input()

    if n1.count("11")>=3:

        k+=1

print (k)

 

Задача 8. Количество цифр

На вход программе подается строка текста. Напишите программу, которая подсчитывает количество цифр в данной строке.

s=input()

k=0

for i in range(10):

    k+=s.count(str(i))

print(k)

Задача 9..com or .ru

На вход программе подается строка текста. Напишите программу, которая проверяет, что строка заканчивается подстрокой

s=input()

if s[-4: ]==".com" or s[-3: ]==".ru":

    print("YES")

else:

    print("NO")

 

Задача 10.Самый частотный символ

На вход программе подается строка текста. Напишите программу, которая выводит на экран символ, который появляется наиболее часто.

s=input()            

c=0                  

a=''                  

for i in s:           

    if s.count(i)>=c: 

        c=s.count(i) 

        a=i          

print(a)

 

Задача 11.Первое и последнее вхождение

На вход программе подается строка текста. Если в этой строке буква «f» встречается только один раз, выведите её индекс. Если она встречается два и более раза, выведите индексы её первого и последнего вхождения на одной строке, разделенные символом пробела. Если буква «f» в данной строке не встречается, следует вывести «NO».

s=input()

if s.count('f')==1:

    print(s.find('f'))

elif s.count('f')>1:

    print(s.find('f'), s.rfind('f'))

else:

    print('NO')

 

Задача 12.Удаление фрагмента

На вход программе подается строка текста, в которой буква «h» встречается минимум два раза. Напишите программу, которая удаляет из этой строки первое и последнее вхождение буквы «h», а также все символы, находящиеся между ними.

 

s=input()

a = s.find('h')           

b = s.rfind('h')  

c = s[a:b+1]

print(s.replace(c, ''))

 

Задача 13.Проверь никнейм

Во время собеседования вам предложили решить задачу на валидацию имени пользователя. Пользователь пытается создать никнейм для своего аккаунта в соцсети Y. Правила для корректного никнейма в соцсети Y следующие:

  • никнейм должен начинаться с символа @

  • никнейм должен содержать от 55 до 1515 (включительно) символов (включая первый символ @)

  • никнейм может содержать только строчные буквы и цифры (помимо первого символа @)

Напишите программу, которая выводит "Correct" (без кавычек), если никнейм соответствует всем вышеприведенным правилам, в противном случае программа должна выводить "Incorrect" (без кавычек).

s=input()

if s[0]=="@" and 5<=len(s)<=15 and s==s.lower() and s[1:].isalnum():

    print("Correct")

else:

    print("Incorrect")

 

Задача 14.Плохие комментарии 

На платформе Stepik пользователи оставляют комментарии, но не все из них соответствуют правилам. Так, например, модератор Сэм считает неуместными комментарии те, которые представляют собой пустую строку или состоят только из пробелов. Подобные комментарии он удаляет – нечего засорять курс бесполезным материалом!

Ваша задача – написать программу, которая поможет Сэму проверять комментарии. Программа должна принимать на вход натуральное число n, а затем n строк, представляющих тексты комментариев. Для каждого комментария ваша программа должна выводить номер этого комментария (начиная с 11), затем двоеточие (:), затем через пробел его текст или сообщение "COMMENT SHOULD BE DELETED" (без кавычек), если комментарий должен быть удален Сэмом.

for i in range (1, int(input())+1):

    s=input()

    if s=='' or s.isspace():

        print (f"{i}: COMMENT SHOULD BE DELETED")

    else:

        print (f"{i}: {s}")

 

Задача 15.Автомобильный номер

В службе по дорожному движению решили оптимизировать процесс создания автомобильных номеров: вместо человека генерацию автомобильных номеров поручили некоторой GPT (модели машинного обучения). Как мы знаем, искусственный интеллект еще сыроват и делает много ошибок, поэтому его результаты следует тщательно проверять.

Напишите программу, которая принимает на вход строку и проверяет, является ли эта строка корректным автомобильным номером. Программа должна вывести "YES" (без кавычек), если искусственный интеллект справился со своей задачей, или "NO" (без кавычек) в противном случае. В нашей задаче корректным автомобильным номером будем считать следующие форматы:

<БУКВА><ЦИФРА><ЦИФРА><ЦИФРА><БУКВА><БУКВА>_<ЦИФРА><ЦИФРА>

<БУКВА><ЦИФРА><ЦИФРА><ЦИФРА><БУКВА><БУКВА>_<ЦИФРА><ЦИФРА><ЦИФРА>

где <ЦИФРА> – это любая цифра, а <БУКВА> – это одна из букв кириллицы "АВЕКМНОРСТУХ".

s=input()

flag="NO"

k="АВЕКМНОРСТУХ"

if 9<=len(s)<=10:

    letters=s[0]+s[4:6]

    digits=s[1:4]+s[7:]

    undersroce=s[6]

    if digits.isdigit() and  undersroce=="_":

        flag="YES"

    for x in letters:

        if x not in k:

            flag="NO"

            break

print(flag)

bottom of page