Блог Портфолио Контакты Python уроки

Вложенные управляющие конструкции

👈 перейти ко всем урокам

Содержание урока

Мы уже много работали с управляющими конструкциями и даже использовали одну внутри другой (цикл в цикле, цикл в условном операторе).

Сегодня мы рассмотрим несколько примеров вложенности и закрепим материал предыдущих уроков.

Задача №1

Запрограммировать текстового бота, поддерживающего беседу. Бот должен отвечать на вопросы:

В остальных случаях — «Извини, не понимаю тебя». При вводе «off» бот завершает работу.

 question = input('Спроси меня о чём угодно (off - завершить):')
while question != 'off':
if question == 'Что ты умеешь?':
print('Могу поговорить с тобой, если тебе грустно')
elif question == 'Расскажи шутку':
print('Первые пять дней после выходных - самые трудные!')
else:
print('Извини, не понимаю тебя')
question = input('Спроси меня о чём угодно (off - завершить):')

Ответьте сами на вопросы:

Задача №2

Раз в день бот загадывает два числа. Тот, кто за 3 попытки угадает оба, получает бесплатную годовую подписку на музыку. Пользователь по очереди вводит два числа.

 num1 = '36'
num2 = '49'
for i in range(3):
user_num1 = input('Первое число:')
user_num2 = input('Второе число:')
if user_num1 == num1:
if user_num2 == num2:
print('Вы выиграли!')
break
else:
print('Вы угадали первое число!')
else:
if user_num2 == num2:
print('Вы угадали второе число!')
else:
print('Получится в другой раз!')

Ответьте сами на вопросы:

  1. Сколько уровней вложенности есть в этой программе? Есть ли случаи, при которых интерпретатор просматривает только часть ветвей?
  2. Что напечатает программа, если пользователь введёт следующие наборы чисел?:
    • 7, 49
    • 36, 46
    • 6, 7