или & и если оператор if в одной строке не работает как предполагаемый

2

python-3.x,

питон-3.x,

Ответов: 0


1

В написанном вами коде user_name [0] сравнивается с выражением ('a' или 'A'). Выражение ('a' или 'A') оценивается как 'a'. Попробуй это,

a

В результате

a

Поэтому условие проверяет true, только когда имя пользователя начинается с «a», а возраст больше 10.

Вот фрагмент кода, который делает то, что вы, возможно, планируете:

if user_name[0] in 'aA' and user_age > 10 :
  print("you can watch coco movie")
else:
  print("sorry, you cannot watch coco")

0

Причина, по которой ваш последний тестовый пример не получал ожидаемого значения, - это условие

user_name[0] == ("a" or "A")

Вы видите («a» или «A») оценивается иначе, чем вы думаете. Скобки делают это своим собственным выражением. Это выражение в основном говорит, что «a» имеет значение null, а затем возвращает «A»

Это всегда возвращает 'a', поэтому возвращает этот вывод.

user_name[0] == "a" or user_name[0] == "A"

Должен исправить это

Взгляните на это сообщение, чтобы получить больше объяснений. Https://stackoverflow.com/a/13710667/9310329

ура

питон-3.x,
Похожие вопросы