Решение модуля 9.4 из курса «Поколение python» для начинающих

Разбор, решение и все ответы для модуля (урока) 9.4 из курса «Поколение Python: курс для начинающих», размещенного и созданного на платформе stepik.org (или stepik.com).

Решайте сами, и только после сверяйтесь. В списывании нет смысла.

Что покажет приведенный ниже фрагмент кода?
s = ‘aabbAAccDDaa’
s = s.lower()
print(s.count(‘a’))

6

Что покажет приведенный ниже фрагмент кода?
s = ‘www.stepik.org’
print(s.startswith(‘www’))

True

Что покажет приведенный ниже фрагмент кода?
s = ‘www.stepik.org’
print(s.endswith(‘.ru’))

False

Что покажет приведенный ниже фрагмент кода?
s = ‘I learn Python language. Python — awesome!’
print(s.find(‘Python’))

8

Что покажет приведенный ниже фрагмент кода?
s = ‘ I learn Python language ‘
print(s.strip())

I learn Python language

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdababa’
print(s.replace(‘ab’, ‘123’))

123cd123123a

Количество слов
На вход программе подается строка текста, состоящая из слов, разделенных ровно одним пробелом. Напишите программу, которая подсчитывает количество слов в ней.
Формат входных данных 
На вход программе подается строка текста.
Формат выходных данных
Программа должна вывести количество слов.
Примечание 1. Строка текста не содержит пробелов в начале и конце.
Примечание 2. Используйте для решения задачи метод count.

s = input()              # получаем строку

print(s.count(' ') + 1)  # в строке считаем кол-во пробелов + 1

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

s = input()                       # получаем строку
s = s.upper()                     # Приводим все буквы к заглавному виду

print('Аденин:', s.count('А'))    # выводим результаты для каждой буквы
print('Гуанин:', s.count('Г'))
print('Цитозин:', s.count('Ц'))
print('Тимин:', s.count('Т'))

Очень странные дела
Джим Хоппер с помощью радиоприемника пытается получить сообщение Оди. На приемник ему поступает nn различных последовательностей кода Морзе. Декодировав их, он получает последовательности из цифр и строчного латинского алфавита, при этом во всех сообщениях Оди содержится число 11, причем минимум 3 раза. Помогите определить Джиму количество сообщений от Оди.
Формат входных данных
В первой строке подаётся число n – количество сообщений, в последующих nn строках вводятся строки, содержащие латинские строчные буквы и цифры.
Формат выходных данных
Программа должна вывести количество строк в которых содержится число 11 минимум 3 раза.
Примечание: Числа 11 необязательно должны быть разделены другими символами, нужно подсчитать вхождение последовательности символов «11», т.е. например в строке «111» содержится одна такая последовательность, в то время как в «1111» их уже две.

n = int(input())           # Получаем количество строк

counter = 0                # Переменная счетчика
for i in range(n):         # Цикл на количество строк
    s = input()            # Получаем следующую строку
    if s.count('11') > 2:  # Условие что в строке число 11 содержалось более 2 раз
        counter += 1       # Если условие выполнено, то увеличиваем счетчик на 1
print(counter)             # Выводим получившееся значение счетчика

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

n = input()                    # Получаем строку

count = 0                      # Переменнная счетчика
for i in range(10):            # Перебираем в цикле цифры от 0 до 9
    count += n.count(str(i))   # Считаем сколько каждая цифра раз встречается в строке и прибавляем к счетчику
    
print(count)

.com or .ru
На вход программе подается строка текста. Напишите программу, которая проверяет, что строка заканчивается подстрокой .com или .ru.
Формат входных данных 
На вход программе подается строка текста.
Формат выходных данных
Программа должна вывести «YES» если введенная строка заканчивается подстрокой .com или .ru и «NO» в противном случае.

s = input()    
if s.endswith('.com') == True or s.endswith('.ru') == True:  # Проверяем оканчивается ли строка на .com или .ru
    print('YES')
else:
    print('NO')

Самый частотный символ
На вход программе подается строка текста. Напишите программу, которая выводит на экран символ, который появляется наиболее часто.
Формат входных данных
На вход программе подается строка текста. Текст может содержать строчные и заглавные буквы английского и русского алфавита, а также цифры.
Формат выходных данных
Программа должна вывести символ, который появляется наиболее часто.
Примечание 1. Если таких символов несколько, следует вывести последний по порядку символ.
Примечание 2. Следует различать заглавные и строчные буквы, а также буквы русского и английского алфавита.

s=input()              # Получаем строку

c=0                    # Переменная для кол-ва символов
a=''                   # Переменная для подсчета самого частого символа
for i in s:            # Проверяем посимвольно
    if s.count(i)>=c:  # Если количество символов в строке больше либо равны уже сохраненому
        c=s.count(i)   # Записываем новое значение кол-ва символов
        a=i            # Запоминаем символ
print(a)

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

s = input()                            # Получаем строку

if s.count('f') == 1:                  # Если кол-во f 1 шт
    print(s.find('f'))                 # То выводим индекс найденной f
elif s.count('f') > 1:                 # Если счетчик насчитал f больше 2 шт
    print(s.find('f'), s.rfind('f'))   # Тогда выводим индекс первой и последней f
else:                                  # Иначе f не нашлось
    print('NO')                        # Тогда выводим NO

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

s = input()                # Получаем строку

a = s.find('h')            # Индекс первого вхождения
b = s.rfind('h')           # Индекс последнего вхождения
c = s[a:b+1]               # Получаем текст между начальным и конечным индексом
print(s.replace(c, ''))    # Выводим результат делая замену на пустую строку


Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

5 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Kirill
Kirill
4 месяцев назад

spasibo)

Макс
Макс
8 месяцев назад

Спасибо Вам огромное! Скажите, пожалуйста, имеются ли ответы на итоговые работы данного курса?

Vova
Vova
11 месяцев назад

Удаление фрагмента
з використанням функцій які в темі:
s = input()
a = s.index(‘h’)
b = s.rindex(‘h’)
ss = s.replace(str(s[a:b+1]), »)
print(ss)

Настя
Настя
11 месяцев назад

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

5
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x