-4

ユーザーが「y」または「n」のみを入力し、プログラムが「y」または「n」のみを回答として受け入れるようにするにはどうすればよいですか?

while True:
        try:
            cont = input("Do you want to continue? If so enter 'y'.")
            if cont != "n" or cont !="y":
                print("Please enter 'y' or 'n'")
            else:
                break
        except ValueError:
            print("Please enter 'y' or 'n'")
    else:
            break
4

3 に答える 3

1

あるべきだからif cont != "n" and cont !="y":です。すべての単語は notnまたは notyです。

于 2013-10-29T07:26:05.043 に答える
1

and演算子の代わりに演算子を使用する必要がありますor。このような混乱を避けるために、このような条件を英語に近い方法で書くことができます。

cont="a"
if cont not in ("n", "y"):
    print "Welcome"

これは「if cont is not one of...」と読むことができます。この方法の利点は、単一の条件で n 個の要素をチェックできることです。例えば、

if cont not in ("n", "y", "N", "Y"):

これはTruecont大文字と小文字を区別しない場合nまたはy

編集:コメントでエリックが示唆したように、単一文字のチェックでは、次のようなことができます

if cont not in "nyNY":
于 2013-10-29T07:45:53.040 に答える