Инструкция Python "Else" всегда возвращает True - PullRequest
0 голосов
/ 06 декабря 2018

Мой код

print("Hello World")
print("How're you?")
mood = input()
print("I'm " + mood + " too")
print("What's your name?")
name = input()
print(name + ". I really like that name!")
food = input("I really like pizza. Do you? Y/N ")
if food == 'y' or 'Y':
    print("Wow! " + name + ", you and I have a really similar taste in food, don't we? So what else do you like?")
elif food == 'n' or 'N':
    print("Oh, that's a shame. I was gonna treat us to a cheeky Papa Johns!")
else:
    print("Oh! Okay. Then what else do you like?")
other = input()
if other == 'liquorice' or 'Liquorice' or 'Brussels Sprouts' or 'brussels sprouts':
    print("Blegh! " + name + ", I respect you and all... but gross!")

Вывод

Я пытаюсь заставить программу использовать выходы ELIF и ELSE при вводев чем-то отличном от Y или y (означает «да»).Что мне нужно сделать, чтобы исправить эту ошибку?

1 Ответ

0 голосов
/ 06 декабря 2018

Когда вы используете

if food =='y' or 'Y':

, питон будет все время возвращать true, вы можете проверить это:

if 'false':
    print('true')

Чтобы заставить его работать, замените food =='y' or 'Y' на food =='y' or food=='Y' или, как предложено @Peter Wood, используйте нижнюю / верхнюю часть food

...