Разбор, решение и все ответы для модуля (урока) 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, '')) # Выводим результат делая замену на пустую строку
spasibo)
Спасибо Вам огромное! Скажите, пожалуйста, имеются ли ответы на итоговые работы данного курса?
Итоговые работы не публиковал, они нужны в первую очередь для проверки пройденого вами материала
Удаление фрагмента
з використанням функцій які в темі:
s = input()
a = s.index(‘h’)
b = s.rindex(‘h’)
ss = s.replace(str(s[a:b+1]), »)
print(ss)
спасибо вам большое, вы очень помогаете, особенно когда не понимаю какая ошибка обращаюсь на ваш сайт