Модуль 5.2 (Цикл for. Обход элементов функции range).
Ниже представлены примеры задач с решением на тему Цикл for. Обход элементов функции range.
Программа принимает на вход натуральное число N. Ваша задача вывести на экран все числа от 1 до N каждое число на отдельной строке.
a = int(input())
for i in range(1, a + 1):
print(i)
Программа принимает на вход натуральное число N. Ваша задача вывести на экран все числа от N до 1 в сторону уменьшения каждое число на отдельной строке.
n = int(input())
for i in range(n, 0, -1):
print(i)
Минутка сожаления
«Надо было брать биткоин в 2012!» именно такую фразу ваша программа должна вывести на экран 13 раз
for i in range(13):
print("Надо было брать биткоин в 2012!")
Каждый, кто смотрел Симпсонов, помнит, что в начале любой серии Барт писал забавные фразы на доске.
Давайте и мы напишем подобную программу. На вход ей будет поступать фраза и затем количество раз, которое эту фразу нужно повторить.
a=input() #фраза
n=int(input()) #количество раз для повторения
for i in range(n):
print(a)
Напишите программу, которая считывает два натуральных числа a и b (гарантируется, что a<b), после чего для всех чисел от a до b включительно выводит:
— “Fizz”, если это число делится на 3;
— “Buzz”, если это число делится на 5;
— “FizzBuzz”, если выполнены оба предыдущих условия;
— само это число в остальных случаях.
a=int(input())
b=int(input())
for i in range(a, b+1):
if i % 3 == 0 and i % 5 == 0: # если делится и на 3 и на 5 без остатка;
print('FizzBuzz')
elif i % 5 == 0: # если делится и на 5 без остатка;
print('Buzz')
elif i % 3 == 0: # если делится и на 3 без остатка;
print('Fizz')
else:
print(i)
Давайте составим сводную информацию о квадратах и кубах интервала чисел.
На вход программе подается два натуральных числа a и b (гарантируется, что a<b), после чего для каждого целого числа на интервале от a до b включительно необходимо вывести фразу следующего вида:
«Число {число}; его квадрат = {квадрат}; его куб = {куб}»
Кавычки выводить не нужно и пользуйтесь f-строкой.
a = int(input())
b = int(input())
for i in range(a, b + 1):
print(f'Число {i}; его квадрат = {i ** 2}; его куб = {i ** 3}')
Мишка — маленький белый медвежонок. А как известно, маленькие медвежата в свободное время любят играть в кости на шоколадки. Одним замечательным солнечным утром, гуляя по льдинам, Мишка встретила своего друга Криса, которому и предложила сыграть в эту занимательную игру.
Правила её очень просты: сначала определяется значение n — количество раундов игры. В очередном раунде каждый из игроков один раз бросает стандартный игральный кубик, на грани которого нанесены различные числа от 1 до 6. Игрок, выбросивший большее значение, становится победителем в раунде. В случае, если выпавшие значения равны, победа не засчитывается никому.
В самой же игре побеждает участник, выигравший в большем количестве раундов. Если же количества побед, заслуженных игроками, равны, то объявляется ничья.
Мишка ещё совсем маленькая и плохо умеет вести счёт, а потому попросила Вас понаблюдать за ходом игры и сообщить ей результат. Помогите ей!
n = int(input()) # количество раундов
M = 0 # количество выигрышей Мишки
C = 0 # количество выигрышей Крис
for i in range(n):
#получаем счет раунда
m, c = map(int, input().split())
if m > c:
M += 1 # победа Мишки в раунде
elif m < c:
C += 1 # победа Крис в раунде
if M > C: # определяем победителя
print('Mishka')
elif M < C:
print('Chris')
else:
print('Friendship is magic!^^')
Найдите, в каких строках из введённых и в каком месте упоминается «рок», причем регистр букв не важен.
Вместо явного цикла прохода по строке в цикле используйте подходящий метод строки.
n = int(input())
for i in range(n):
a = input().lower() # строка для поиска подстроки
ind = a.find('рок') + 1 # индекс 1 символа найденой подстроки
if ind > 0: # если подстрока нашлась
print(i + 1, ind) # то печать (номер строки (цикла), индекс....)
Предположим, вы переписываете у друга рецепты в блокнотик, но вам не нравится «соль». Переписывайте без этого слова.
count = int(input())
result = ""
for _ in range(count):
s = input() # получаем строку рецепта
if 'соль' in s: # если есть слово соль то пропускаем эту строку
continue
result += s + ', ' # собираем результат
print(result[:-2]) # убираем в конце запятую и пробел
Если перечислить все натуральные числа ниже 10, которые кратны 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел 23.
Напишите программу, которая принимает натуральное число n и находит сумму всех чисел ниже переданного числа n, которые делятся на 3 или на 5.
n = int(input()) #Вводим число
sum = 0 #Новая переменная, где мы будем записывать значение суммы
for i in range(n): #до нашего числа
#Условие, если число кратно 3 или 5
if i % 3 == 0 or i % 5 == 0:
sum += i #Прибавляем к сумме
print(sum)
Напишите программу, которая найдет сумму кубов натуральных чисел от 50 до 100 включительно
503 + 513 + 523 + 533 + … + 1003
y = 0
for x in range(50, 101):
y += x ** 3
print(y)
24001875
Иногда некоторые слова вроде «civilization» или «internationalization» настолько длинны, что их весьма утомительно писать много раз в каком либо тексте.
Будем считать слово слишком длинным, если его длина строго больше 10 символов. Все слишком длинные слова можно заменить специальной аббревиатурой.
Эта аббревиатура строится следующим образом: записывается первая и последняя буква слова, а между ними — количество букв между первой и последней буквой (в десятичной системе счисления и без ведущих нулей).
Таком образом, «civilization» запишется как «c10n», а «internationalization» как «i18n».
Вам предлагается автоматизировать процесс замены слов на аббревиатуры. При этом все слишком длинные слова должны быть заменены аббревиатурой, а слова, не являющиеся слишком длинными, должны остаться без изменений.
n = int(input()) #получаем число строк
for i in range(n):
a = input() #получаем строку
if len(a) > 10: #если строка больше 10
b = a[0] #получаем 1 букву
c = a[-1] #получаем последнию букву
d = a[1:-2] #получаем слово без первой и последней буквы
a = b + str(len(d)+1) + c #складываем результат и длину len(d)
print(a)