Прежде всего, вы не должны применять lower
к правой стороне, которая является постоянной и уже строчной.Вы должны применить его к переменной ввода:
choice = raw_input(...).lower()
Существует несколько способов проверить соответствие, которое вы ищете.Самым простым является использование startswith
:
if 'yes'.startswith(choice):
Другой способ заключается в явной проверке содержимого в наборе или кортеже:
if choice in ('y', 'ye', 'yes'):
Это необходимо только в случаях, когдане подходит для простой проверки метода, например, если вы хотите добавить ok
в список параметров.
Если вы хотите иметь несколько проверок функций, вы можете использовать any
с выражением генератора:
if any(f(x) for f in ('yes'.startswith, 'ok'.startswith)):
Все тесты здесь имеют правильное короткое замыкание, как и ваше первоначальное выражение.