if Join == 'yes' or 'Yes':
Это всегда так. Python читает как:
if (Join == 'yes') or 'Yes':
Вторая половина or
, будучи не пустой строкой, всегда верно, так что все выражение всегда верно, потому что ничего or
верно, то верно.
Вы можете исправить это явно сравнивая Join
с обоими значениями:
if Join == 'yes' or Join == 'Yes':
Но в данном случае я хотел бы предложить лучший способ написать это так:
if Join.lower() == 'yes':
Таким образом, случай ввода пользователем не имеет значения, он преобразуется в нижний регистр и проверяется на значение в нижнем регистре.Если вы собираетесь использовать переменную Join
в другом месте может быть удобно в нижнем регистре, когда она вводится вместо:
Join = input('Would you like to join me?').lower()
if Join == 'yes': # etc.
Вы можете написать это так, что пользователь может ввести все, что начинается с y
или на самом деле, просто y
:
Join = input('Would you like to join me?').lower()
if Join.startswith('y'): # etc.
вы перепутать инден когда вы вставили код, или это то, как ваш код появляется в вашем файле? – 2rs2ts
@ 2rs2ts - он испортил отступы, когда вставил код. В противном случае он получил другое сообщение об ошибке. –
@ Robᵩ Да, я знаю. Я пытался привести OP к реализации, а не сказать, что вы неправильно ввели код. – 2rs2ts