0

この関数が印刷したいテキストを印刷しない理由がわかりません。何を変更できますか?

def shut_down(answer):
    if answer == "Yes" or "YES" or "yes":
        print "Shutting down..."
        return "Shutting down..."
    if answer == "No"or "NO" or "no":
        print "Shutdown aborted!"
        return "Shutdown aborted!"
    else: 
        print "Sorry, I didn't understand you."
        return "Sorry, I didn't understand you."



shut_down(yes)
4

5 に答える 5

1

言語はPythonだと思います。演算子はor条件間で動作するため、行う必要があります

answer == "yes" OR answer == "YES"

など....

あなたの答え == 「はい」または「はい」は常に真です。これ"YES"は、真の条件と見なされるためです。

于 2013-11-14T21:05:26.263 に答える
0

これを次のように変更します。

if answer == "Yes" or answer == "YES" or answer == "yes":
    print "Shutting down..."
    return "Shutting down..."

またはさらに整然とした:

if answer in ["Yes", "YES", "yes"]:

またはもっときちんとした:

 if answer.lower() == "yes":
于 2013-11-14T21:18:20.203 に答える
-1

yes変数がどこにも定義されていないため、コードにエラーがある可能性があります。

それを定義すれば、あなたはうまくいくはずです。


shut_down関数に渡す変数について話している

于 2013-11-14T21:03:24.820 に答える