Member 13180541 Ответов: 2

Как заставить оператор else работать в коде? (Я новичок)


Я пытаюсь сделать так, чтобы, если пользователь вводит что-то другое, что "Стивен Карри" или" Стивен Карри", запускался оператор else. Но прямо сейчас, если я поставлю что-то другое, если все же скажу, что вы правы. (Кстати, в приведенном ниже коде операторы печати на самом деле имеют отступ, который просто не отображается)

Что я уже пробовал:

A1 = raw_input("Who is the only warrior to have 2 MVP's?:")
if A1 == "stephen curry" or "Stephen Curry":
    print "you are correct"
else:
    print "sorry incorrect"

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Как заставить оператор else работать в коде?

Проблема не в "другом", а в состоянии "если".
Попробуй
if A1 == "stephen curry" or A1 == "Stephen Curry":


Рейтинг:
12

Member 10317286

if A1 == "stephen curry" or "Stephen Curry":

он всегда будет истинным, потому что не делает того, что вы думаете. Из-за правил приоритета операторов ваше выражение интерпретируется следующим образом:
if (A1 == "stephen curry") or ("Stephen Curry"):

Согласно документам Python, непустая строка вычисляется как True при использовании в условии, так что это становится:
if (A1 == "stephen curry") or true:

который всегда разрешается в true, потому что что-либо или true = true. Способ исправить это должен быть очевиден, но есть еще две вещи, которые следует рассмотреть. Во-первых, посмотрите, как вы могли бы использовать в оператор. Во-вторых, если вы также хотите, чтобы он работал для всех вариантов падежа (например, "Стивен Карри", "Стивен Карри" и т. д.), Обратите внимание на использование метода string "upper".