0

文字がX、x、O、またはoになるまで、プレーヤーに文字を入力するように求める関数を作成しました。しかし、関数を呼び出すたびに、なぜか while ループが False に評価され、実行が開始されません。何が問題なのですか? どうもありがとうございました。

def getLetter():
    letter = ""
    while letter not in "XxOo":
        print("Would you like to be X or O ?")
        letter = input()
4

2 に答える 2

4

空の文字列はすべての文字列のメンバーです。Pythonプロンプトで試してみてください:

>>> "" in "lol"
True

letterたとえば<not chosen yet>、空の文字列の代わりに、選択肢の中にないことがわかっているものに初期化できます。

于 2012-05-11T21:08:31.107 に答える
2

関数の最初の行を に変更してみてletter = "David is cool"、空の文字列が別の文字列に含まれていることの意味をよく考えてください"" in "XxOo"

于 2012-05-11T21:09:12.793 に答える