Решение модуля 5.2 Инди-курс программирования на Python

Модуль 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) 
Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

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