Решение модуля 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, которая будет использоваться для проверки делителей
d = 2 

# Запускаем бесконечный цикл
while True:
    # Проверяем, делится ли n на текущее значение d без остатка
    if n % d == 0:
        # Если делится, выводим d (наименьший простой делитель) и завершаем цикл
        print(d)
        break
    # Увеличиваем d для проверки следующего числа
    d += 1

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

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

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

a = int(input()) - 1  # Уменьшаем на 1, чтобы начать с a (включительно)
b = int(input())

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

Сиракузская последовательность, или последовательность Коллатца, строится так: возьмём натуральное число 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:
    # Если a или b нашлись то выходим из цикла
    if a[0] == 'a' or a[0] == 'e': 
        print('Ага! Нашлась')
        break
    print(f'Текущая буква: {a[0]}')
    a = a[1::]                     # убираем первый символ из строки
else:
    # Если из цикла не вышили, а длина стала 0   
    print('Распечатали все буквы') 

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

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