Эта строка доставит вам некоторые неприятности, потому что она всегда оценивается как True
.
if dragon == "yes" or "Yes":
run_event(EVENT_DRAGON)
Это условие похоже на поговорку:
if (dragon == 'yes') or ('Yes'):
run_event(EVENT_DRAGON)
Поскольку «Да» - непустая строка, она будет иметь значение True
и всегда будет run_event(EVENT_DRAGON)
. Есть несколько способов исправить это. Сначала вы можете изменить ввод на строчные, чтобы оценить только одно слово:
if dragon.lower() == 'yes':
run_event(EVENT_DRAGON)
Кроме того, вы можете поместить приемлемые слова в список:
if dragon in ['Yes', 'yes']:
run_event(EVENT_DRAGON)
Также вы можете проверить каждое слово в отдельности:
if dragon == 'yes' or dragon == 'Yes':
run_event(EVENT_DRAGON)
Надеюсь, это поможет. Дайте мне знать, если это не сработает.