Полные решения на питоне с пояснениями к модулю 9.1 из «Поколение Python: курс для начинающих» с сайта stepik.org.
Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[0] + s[2] + s[4] + s[6])
aceg
Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[0]3 + s[-1]3 + s[3]2 + s[3]2)
aaagggdddd
Что покажет приведенный ниже фрагмент кода?
s = ‘01234567891011121314151617’
for i in range(0, len(s), 5):
print(s[i], end=»)
051217
Дополните приведенный код, используя индексатор, так чтобы он вывел символ запятой.
s = «In 2010, someone paid 10k Bitcoin for two pizzas.» print(s[7])
Дополните приведенный код, используя индексатор, так чтобы он вывел символ w .
s = «Iw 2010, someone paid 10k Bitcoin for two pizzas.» print(s[1])
В столбик 1
На вход программе подается одна строка. Напишите программу, которая выводит элементы строки с индексами 0, 2, 4, . в столбик.задача 14 егэ Редактор
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести элементы строки с индексами 0, 2, 4, . , каждое на отдельной строке.
s = input() for c in range(0, len(s), 2): print(s[c])
В столбик 2
На вход программе подается одна строка. Напишите программу, которая выводит в столбик элементы строки в обратном порядке.
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести в столбик элементы строки в обратном порядке.
s=input() for i in range(1,len(s)+1): print(s[-i])
ФИО
На вход программе подаются три строки: имя, фамилия и отчество. Напишите программу, которая выводит инициалы человека.
Формат входных данных
На вход программе подаются три строки, каждая на отдельной строке.
Формат выходных данных
Программа должна вывести ФИО человека.
Примечание. Гарантируется, что имя, фамилия и отчество начинаются с заглавной буквы.
x = input() # имя n = input() # фамилия c = input() # отчество print(n[0], x[0], c[0], sep = »)
Цифра 1
На вход программе подается одна строка состоящая из цифр. Напишите программу, которая считает сумму цифр данной строки.
Формат входных данных
На вход программе подается одна строка состоящая из цифр.
Формат выходных данных
Программа должна вывести сумму цифр данной строки.
a = input() # получаем строку s = 0 for i in a: # бежим циклом по строке s += int(i) # символ переводим в число и складываем с предыдущей суммой print(s)
Цифра 2
На вход программе подается одна строка. Напишите программу, которая выводит сообщение «Цифра» (без кавычек), если строка содержит цифру. В противном случае вывести сообщение «Цифр нет» (без кавычек).
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.
Информатика ЕГЭ. № 12. Выполнение алгоритмов для исполнителей. Исполнитель редактор. № 9365
n = input() #Считываем строку и записываем в переменную ‘n’ s = ‘Цифр нет’ #Создаем переменную ‘s’ и записываем в неё ‘Цифр нет’ for i in range(len(str(n))): #Создаем цикл ‘i’ равный длине строки if n[i] in ‘0123456789’: # Создаем условие если n[i] содержит (‘012. ‘) s = ‘Цифра’ # s меняем на «Цифра» break # Тормозим цикл print(s)
Сколько раз?
На вход программе подается одна строка. Напишите программу, которая определяет сколько раз в строке встречаются символы + и * .
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести сколько раз встречаются символы + и * в строке.
a = input() star = 0 #Создаем переменную для звездочки plus = 0 #Создаем переменную для плюса for i in a: if i == ‘*’: #если встретилась звездочка star += 1 #то прибавляем +1 elif i == ‘+’: #иначе проверяем это плюс или нет plus += 1 #если + то прибавляем +1 в переменную plus print(‘Символ + встречается’, plus, ‘раз’) print(‘Символ * встречается’, star, ‘раз’)
Одинаковые соседи
На вход программе подается одна строка. Напишите программу, которая определяет сколько в ней одинаковых соседних символов.
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести количество одинаковых соседних символов.
a = input() count = 0 # переменная для счетчика for i in range(len(a) -1): # проходим for по len(строки) — 1 if a[i] == a[i + 1]: # сравниваем строки[i] с строки[i + 1] count += 1 # если символы одинаковые к счетчику +1 print(count)
Гласные и согласные
На вход программе подается одна строка с буквами русского языка. Напишите программу, которая определяет количество гласных и согласных букв.
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести количество гласных и согласных букв.
Примечание. В русском языке 10 гласных букв (а, у, о, ы, и, э, я, ю, ё, е) и 21 согласная буква (б, в, г, д, ж, з, й, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ).
s = input() son, cons = 0, 0 gl =’ауоыиэяюёеАУОЫИЭЯЮЁЕ’ #переменная хранящая гласные sog =’бвгджзйклмнпрстфхцчшщБВГДЖЗЙКЛМНПРСТФХЦЧШЩ’ #переменная хранящая согласные for c in s: # циклом проходим по строке if c in gl: # если символ соответствует одному из символов строки согласных son += 1 # прибавляем к переменной согласные +1 if c in sog: # если символ соответствует одному из символов строки гласных cons += 1 # прибавляем к переменной гласные +1 print(‘Количество гласных букв равно’, son) print(‘Количество согласных букв равно’, cons)
Decimal to Binary
На вход программе подается натуральное число, записанное в десятичной системе счисления. Напишите программу, которая переводит данное число в двоичную систему счисления.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести число записанное в двоичной системе счисления.
n = int(input()) # число d = » # строка while n > 0: d = str(n % 2) + d # при сложении (конкатенации) строк важен порядок. При написаннов в коде варианте число в двоичной системе счисления идёт в нужном порядке, если слагаемые поменять местами так d = d + str(n % 2), то двоичное число окажется записано наоборот, с конца. n //= 2 print(d)
Источник: zazloo.ru
ОБЪЯСНИТЕ ПОДРОБНО, ПОЖАЛУЙСТА!
НАЧАЛО
ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999)
заменить (19, 2)
заменить (299, 3)
заменить (3999, 1)
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подаётся строка длины 99, состоящая из цифры 1, за которой следуют 98 идущих подряд цифр 9. Какая строка получится в результате применения программы к этой строке? В ответе запишите полученную строку.
Ответы 1
Начало работы алгоритма:19999999. 999 (1 «1» 98 «9»)2999999. 999 (1 «2» 97 «9»)39999. 999 (1 «3» 95 «9»)19. 999 (1 «1» 92 «9»)После замены 19 на 2, 299 на 3 и 3999 на 1 количество «9» в строке уменьшится на 6, т.е. в строке останется:1 «1» и 92 «8»После выполнения этих 3 шагов ещё 15 раз в строке будет:1 «1» и 2 «9» (92-15*6=2)Таким образом, на последнем шаге из строки «199» получится строка «29»
Источник: znanija.site
Таблица 3. Вариант решения задачи на языке Паскаль. Вопросы и задания
Можно заметить, что количество полученных в результате преобразования исходных данных «троек» и «восьмерок» можно получить, применив к исходной длине строки формулы целочисленного деления:
n | |||
Исходные данные | 8888888888 | 888888888888888 | 8888888888888888888888 |
Преобразования | 38888888 338888 3338 | 3888888888888 33888888888 333888888 | 38888888888888888888 338888888888888888 3338888888888888 88888888888888 388888888888 3388888888 33388888 |
n8 | |||
n3 |
Каждые девять цифр 8 заменяются на одну, т.е. обрабатываемая строка уменьшается на восемь символов. Таким образом, какое бы исходное значение n мы не взяли, после выполнения числа шагов k кратных четырем, получим количество цифр 8, определяемое по формуле
Вариант решения задачи на языке Паскаль
var i, n, n3, n8: integer;
for i:=1 to n3 do write(‘3’);
for i:=1 to n8 do write(‘8’);
else for i:=1 to n do write(‘8’);
Потребовалось всего 4 переменные целого типа! При этом длина исходной строки ограничена значением максимального целого числа в компьютере.
Вопросы и задания
12. Ниже приведен программа для исполнителя Редактор.
ПОКА нашлось (19) ИЛИ нашлось(299) ИЛИ нашлось(3999)
заменить(19, 2)
заменить(299, 3)
заменить(3999, 1)
Составьте программу на языке Паскаль, которая определит результат применения программы для исполнителя Редактор к строке некоторой длины n, состоящей из цифры 1, 2 или 3, за которой следуют (n – 1) идущих подряд цифр 9?
Например, если на вход этой программе подаётся строка длины 101, состоящая из цифры 2, за которой следуют 100 идущих подряд цифр 9, то программа должна вывести 399.
Если на вход этой программе подаётся строка длины 94, состоящая из цифры 3, за которой следуют 93 идущих подряд цифр 9, то программа должна вывести 1.
13. Ниже приведена программа для исполнителя Редактор:
ПОКА нашлось(555) ИЛИ нашлось(888)
ЕСЛИ нашлось(555)
ТО заменить(555, 8)
ПОКА нашлось(888)
заменить(888, 5)
ЕСЛИ нашлось(555)
ТО заменить(555, 8)
Составьте программу на языке Паскаль, которая определит результат применения программы для исполнителя редактор к строке некоторой длины n, причем известно, что первые п1 цифр — восьмерки, а остальные — пятерки.
14. На странице http://kpolyakov.spb.ru/school/ege.htm приведена Программа для решения задач с РедакторомEditor14.zip. Сохраните программу на компьютере, распаковав архив. Познакомьтесь с её работой.
15. Выполните тест, перейдя по ссылке
Источник: helpiks.su