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

Модуль 4.6 (Инструкции break, continue, else).

Ниже представлены примеры задач с решением на тему Инструкции break, continue, else.

Вам нужно понять какие числа будут выведены на экран после выполнения данного кода

t = 7
while t > 1:
t -= 1
if t == 3:
break
print(t)

В качестве ответа укажите сумму выведенных чисел

15

Вам нужно понять какие числа будут выведены на экран после выполнения данного кода

t = 7
while t > 1:
t -= 1
if t == 3 or t == 1:
continue
print(t)

В качестве ответа укажите сумму выведенных чисел

17

Программа получает на вход натуральное число n > 1. Выведите минимальный делитель этого числа, отличный от единицы.

К примеру для числа 12 делителями являются 1, 2, 3, 4, 6, 12. 

n = int(input())
d = 2 # создоем стартовый делитель, помня о том, что на ноль делить нельзя, а также что делитель должен быть отличный от единицы.
while True: 
    if n % d == 0: 
        print(d)
        break
    d += 1

Давайте переберем все числа от а до b включительно и будем их выводить на экран, при этом нужно выполнить следующие условия:

— пропускать (не выводить) числа, которые делятся на 2 или на 3
— если встречаете число, кратное 777, необходимо принудительно закончить цикл, само это число не выводить

Постарайтесь не использовать цикл for

a=int(input())-1
b=int(input())

while a<b:
    a+=1
    if a%777==0:    # если встречаете число, кратное 777, необходимо принудительно закончить цикл
        break
    if a%2==0 or a%3==0: # пропускать (не выводить) числа, которые делятся на 2 или на 3
        continue
    print(a)

Сиракузская последовательность, или последовательность Коллатца, строится так: возьмём натуральное число n; если оно чётное, то заменим его числом n/2; если же оно нечётное, то заменим его числом 3n+1. Получившееся число — следующее в сиракузской последовательности после числа n. Затем заменяем получившееся число по тому же правилу, и так далее.
Определите, сколько шагов потребуется сиракузской последовательности, стартующей с заданного числа, чтобы прийти к 1.

Обычно, если проделать такую замену достаточно много раз, мы приходим к числу 1 (за которым следует снова 1). Например: 

8 → 4 → 2 → 1 или 10 → 5 → 16 → 8 → 4 → 2 → 1.

Определите, сколько шагов потребуется сиракузской последовательности, стартующей с заданного числа, чтобы прийти к 1.

Если вы обнаружите число, сиракузская последовательность от которого не приходит к 1, то… вы, скорее всего, ошиблись. Но если нет, то поздравляем: вы прославитесь, ведь вопрос о том, всегда ли сиракузская последовательность приходит к 1 (независимо от начального числа), давно будоражит умы математиков.

n=int(input())
count = 0 	    # Создаем счетчик

while True:	    # Пока выражение True
    if n==1:        # Если наше число равно 1
        break       # то выходим из цикла
    count+=1        # Добавляем к счетчику +1
    if n%2==0:      # Проверяем на четное число
        n=n/2
    else:           # Иначе нечетное число
        n=3*n+1
print(count)

 Распечатается ли фраза «Конец» в этой программе?

i = 0
while i < 5:
print(i)
i += 1
else:
print(«Конец»)

да

Распечатается ли фраза «Конец» в этой программе?

i = 0
while i < 5:
if i == 5:
break
print(i)
i += 1
else:
print(«Конец»)

да

 Распечатается ли фраза «Конец» в этой программе?

i = 0 while i < 5:
if i == 3:
break
print(i)
i += 1
else:
print(«Конец»)

Нет

Вам на вход поступает слово и ваша задача в цикле while обойти все его буквы и распечатать их в формате фразы:

«Текущая буква: <letter>».

Как только вы встретите строчные английские буквы «e» или «a» нужно вывести фразу «Ага! Нашлась», перестать печатать буквы и принудительно выйти из цикла.

В случае, если в слове не оказалось букв «e» или «a» необходимо вывести фразу «Распечатали все буквы»

a = input()

while len(a) > 0:
    if a[0] == 'a' or a[0] == 'e': #если a или b нашлись то выходим из цикла
        print('Ага! Нашлась')
        break
    print(f'Текущая буква: {a[0]}')
    a = a[1::]                     #убираем первый символ из строки
else:
    print('Распечатали все буквы') #если из цикла не вышили, а длина стала 0   
Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

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