Модуль 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