Задать вопрос
@Montik
Начинаю начинать.

Почему вложенные операторы if не срабатывают?

Здравствуйте. Для корифеев вопрос элементарный, но всё-таки:
Условие - задуманное число, только оператор if и два вложенных оператора два варианта - отгадал (верно) и не отгадал (неверно)
Почему-то не срабатывают вложенные операторы, поясните, пожалуйста, будьте так любезны, что упущено?

number = 43
guess = int(input('Введите число :'))

if guess == number:
  
  if True:
        print('Число выбрано верно')
  if False:
        print('Число выбрано неверно')
        
print('Завершено')
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Vlad_IT
@Vlad_IT
Front-end разработчик
Вы немного неправильно понимаете условные операторы

if guess == number:
    print('Число выбрано верно')
else:
    print('Число выбрано неверно')


В вашем же случае, блок
if True:
    print('Число выбрано верно')

выполняется всегда, т.к. True истина. А этот блок
if False:
    print('Число выбрано неверно')

никогда не выполняется. А т.к. if True у вас внутри if guess == number, надпись выводится толлько если число выбрано верно, в противном случае ничего не выводится
Ответ написан
SoreMix
@SoreMix Куратор тега Python
yellow
Вам не нужно больше if для текущей задачи.
if guess == number:
    print('Число выбрано верно')
else:
    print('Число выбрано не верно')


По поводу минимальной записи из книги - конструкцию if можно разложить в if-elif-else максимум, например, для такого:
if guess == number:
    print('Число выбрано верно')
elif guess == 0:
    print('Нельзя ввести ноль')
else:
    print('Число выбрано не верно')


Но часто бывают такие ситуации, когда вам не нужно никаких дополнительных действий в алгоритме, как и нужны дополнительные условия в виде elif и/или else, а достаточно будет просто одной проверки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы