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 回答