205.73K
Category: programmingprogramming

8прог10

1.

Модуль «Цикл for»
Урок «Цикл for»
Практическая работа
Задача 1
У Димы есть n маленьких постеров. Он хочет развесить их в ряд — один над другим. Место на стене, где будет середина каждого постера, он отмечает символом s. Помоги Диме разметить стену.
Есть символ s и число постеров n. Выведи символ s в столбик n раз, чтобы увидеть, как постеры будут висеть на стене.
Ввод
Вывод
+
3
+
+
+
Решение
s = input()
n = int(input())
for i in range(n):
print(s)
Задача 2
Соня решила написать хитовую песню. Вася подал ей идею — взять две произвольные строчки и повторить их много раз на разные лады.
Есть две строки песни и число n (сколько раз повторять). Выведи песню Сони.
Ввод
Вывод
Я люблю котов
Коты любят меня
2
Я люблю котов
Коты любят меня
Я люблю котов
Коты любят меня
Ла-ла-ла
Лу-лу-лу
3
Ла-ла-ла
Лу-лу-лу
Ла-ла-ла
Лу-лу-лу
Ла-ла-ла
Лу-лу-лу
Решение
first_line = input()
second_line = input()
n = int(input())
for i in range(n):
print(first_line)
print(second_line)
Задача 3
Соня отбирает из словаря длинные термины, чтобы выучить их и потом хвастаться эрудицией. Длинными она называет слова от 12 букв.
Есть число n и n слов в столбик. Выведи все из них, в которых 12 или более букв.
Ввод
Вывод
4
превосходительство
стол
стул
первомайский
превосходительство
первомайский
1
кирка
Решение
n = int(input())
for k in range(n):
word = input()
if len(word) >= 12:
print(word)
Домашняя работа
Задача 1
Учительница истории Антонина Ивановна повторяет все важные даты по 7 раз, чтобы все ученики точно их запомнили.
Есть строка с датой. Выведи её 7 раз.
Ввод
Вывод
26 августа 1812
26 августа 1812
26 августа 1812
26 августа 1812
26 августа 1812
26 августа 1812
26 августа 1812
26 августа 1812
14 декабря 1825
14 декабря 1825
14 декабря 1825
14 декабря 1825
14 декабря 1825
14 декабря 1825
14 декабря 1825
14 декабря 1825
Решение
date = input()
for i in range(7):
print(date)
Задача 2
Первоклассник Петя написал стихотворение, но не проставил знаков препинания. Мама сказала ему, что это надо исправить. Начинающий поэт проставил в конце каждой строчки по восклицательному знаку.
Есть число n и n строк стихотворения без знаков препинания. Выведи его, добавив в конец каждой строки по восклицательному знаку.
Ввод
Вывод
2
С днём рождения поздравляю
всего лучшего желаю
С днём рождения поздравляю!
всего лучшего желаю!
4
я нашёл собаку
покормил её котлетой
собака очень кусачая
а стихи это всё что написано в столбик
я нашёл собаку!
покормил её котлетой!
собака очень кусачая!
а стихи это всё что написано в столбик!
Решение
n = int(input())
for j in range(n):
line = input()
print(line + '!')
Задача 3
Соня считала расстояние между остановками поезда, на котором они с семьёй ездят на дачу. У Сони не очень хорошо с математикой, поэтому иногда она получала отрицательные числа или 0.
Есть число n и n чисел. Выведи все положительные из них.
Ввод
Вывод
3
1
2
3
1
2
3
1
-18
Решение
n = int(input())
for k in range(n):
number = int(input())
if number > 0:
print(number)
Задача 4
Петя решил нарисовать красивый узор в тетради. Он придумал 2 симпатичные, на его взгляд, строки одинаковой длины и нарисовал их несколько раз в столбик. Всего нарисованных строк оказалось в 2 раза
больше, чем символов в одной строке.
Есть первые две строки. Выведи весь узор.
Ввод
Вывод
!-----!
!-----!
!-----!
!-----!
!-----!
Решение
first = input()
second = input()
for i in range(len(first)):
print(first)
print(second)
Задача 5
Макс хочет стать футболистом и дважды в день делает зарядку. Он записывает в блокнот, сколько минут занимается за раз — 2 записи в день. Мальчик решил показать свои результаты за n дней учителю
физкультуры. И чтобы не упасть в грязь лицом, вычеркнул из блокнота все числа, меньше 5.
Есть количество дней n и последовательность записей Макса. Выведи все числа, которые больше или равны 5.
Ввод
Вывод
1
5
30
5
30
2
10
1
6
6
10
6
6
Примечание. В первом тесте Макс показывает результаты за один день. Это 2 записи (утром и вечером). Оба раза Макс занимался от 5 минут, поэтому выведены 2 числа.
Решение
n = int(input())
for j in range(2 * n):
exercise = int(input())
if exercise >= 5:
print(exercise)
Дополнительные задачи
Задача 1
Соня скучает и пишет на листке сначала одно число 1, потом два числа 2, три числа 3 — так далее.
Есть n. Выведи n чисел n.
Ввод
Вывод
2
2
2
5
5
5
5
5
5
Решение
n = int(input())
for k in range(n):
print(n)
Задача 2
Механический попугай Лёшенька заглючил и каждое слово повторяет трижды.
Есть число n и n слов. Выведи n строк с этими словами, записанными 3 раза подряд слитно.
Ввод
Вывод
2
пррривет
птичка
пррриветпррриветпррривет
птичкаптичкаптичка
3
Лёшенька
хоррроший
мальчик
ЛёшенькаЛёшенькаЛёшенька
хорррошийхорррошийхоррроший
мальчикмальчикмальчик
Решение
n = int(input())
for i in range(n):
word = input()
print(word * 3)
Задача 3
Илья учит английский язык. Чтобы лучше запоминать слова, он придумал такое правило: повторять и записывать каждое слово столько раз, сколько в нём букв. Эта идея ему так понравилась, что и русские
слова он теперь пишет по несколько раз. Из-за этого его уже банят в чатах.
Покажи, что получается у Ильи. Есть строка. Выведи её столько раз, сколько в ней символов.
Ввод
Вывод
а
а
привет
привет
привет
привет
привет
привет
привет
Решение
word = input()
for k in range(len(word)):
print(word)
Задача 4
Соня нарисовала такой узор из двух ромбов:
==+==
=+=+=
+===+
=+=+=
==+==
=+=+=
+===+
=+=+=
==+==
Есть число n. Выведи узор из n ромбов.
Ввод
Вывод
3
==+==
=+=+=
+===+
=+=+=
==+==
=+=+=
+===+
=+=+=
==+==
=+=+=
+===+
=+=+=
==+==
1
==+==
=+=+=
+===+
=+=+=
==+==
Решение
n = int(input())
for k in range(n):
print('==+==')
print('=+=+=')
print('+===+')
print('=+=+=')
print('==+==')
Задача 5
Алиса с Васей написали бота и тестируют его. Бот удаляет из переписки сообщения короче 5 и длиннее 55 символов.
Есть число n и n Васиных сообщений. Выведи те из них, которые оставил бот.
Ввод
Вывод
5
Я
Сегодня хороший день
Накрывает ладонью, как шашки, cон, и совесть, и ночь, и любовь оно.
2
И действительно.
Решение
n = int(input())
in_the_notebook = 0
for i in range(n):
word = input()
if len(word) >= 5 and len(word) <= 55:
in_the_notebook = in_the_notebook + 1
print(in_the_notebook)
Задачи повышенной сложности
Задача 1
В тетради в клеточку Лёша отметил n на n клеток. В них по периметру фигуры он проставил символы s.
Есть символ s и число n. Выведи фигуру, которую нарисовал Лёша.
Ввод
Вывод
x
4
xxxx
xx
xx
xxxx
o
2
oo
oo
Решение
# Фигура состоит из n строк: n символов s, n - 2 строки из символа s, n - 2 пробелов и символа s,
# и опять n символов s. В задаче нужен цикл по range(n - 2).
s = input()
n = int(input())
print(s * n)
for line in range(n - 2):
print(s + ' ' * (n - 2) + s)
print(s * n)
Задача 2
Редактор газеты Костя проверяет заголовки для статей. Ему кажется, что авторы совсем обленились. В попытке сделать их жизнь интереснее, Костя потребовал, чтобы во всех заголовках было или от 11 до 21
символов включительно, или их количество было чётным.
Есть число n и n заголовков. Выведи те из них, которые отвечают требованиям заботливого начальника.
Ввод
Вывод
2
Невероятное происшествие
Таинственное событие...
Невероятное происшествие
1
Гол
Решение
# Все элементы последовательности нужно прочитать в цикле и вывести подходящие.
# Важно аккуратно записать условие с помощью оператора or.
n = int(input())
for j in range(n):
headline = input()
length = len(headline)
if length % 2 == 0 or 11 <= length <= 21:
print(headline)
Задача 3
Соня нарисовала узор из 2 повторяющихся строк: первая, вторая, первая, вторая — и так далее. Узор вышел на n строк.
Есть число n и 2 строки, на которых построен узор. Выведи его.
Ввод
Вывод
4
---!
!---
---!
!-----!
!---
3
=====
!===!
=====
!===!
=====
Решение
# Число n может быть чётным или нечётным. Поэтому две строки нужно повторить n // 2 раз,
# а если n нечётно, добавить n-ю строку.
n = int(input())
first_line = input()
second_line = input()
for i in range(n // 2):
print(first_line)
print(second_line)
if n % 2 != 0:
print(first_line)
Задача 4
В классе n учеников. Учитель вывесил список с оценками. В списке по очереди фамилия и имя (в одной строке) и оценка (в следующей).
Есть число n и список. Что получил Иванов Василий?
Ввод
Вывод
1
Иванов Василий
5
5
4
Михеева Алина
5
Иванов Пётр
3
Королёв Василий
2
Иванов Василий
4
4
Решение
# В каждой итерации цикла нужно прочесть две строки: с именем и с оценкой. Найдя Васю, выводим его оценку.
n = int(input())
for k in range(n):
name = input()
grade = input()
if name == 'Иванов Василий':
print(grade)
Задача 5
Вася написал на листке n чисел, в каждом — n цифр. Он спросил Соню: какие из этих чисел делятся на n?
Есть n чисел. Выведи те из них, которые делятся на n.
Ввод
Вывод
123
221
999
123
999
7
7
Решение
# Чтобы найти n, нужно прочитать первое число и вычислить количество цифр в нём.
# А остальные n - 1 чисел можно прочитать в цикле.
number = input()
n = len(number)
if int(number) % n == 0:
print(number)
for i in range(n - 1):
number = int(input())
if number % n == 0:
print(number)
English     Русский Rules