在评估'字符串不在字符串中'时循环不执行

时间:2012-05-11 21:06:11

标签: python

我做了一个函数,要求玩家输入一个字母,直到字母是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()

2 个答案:

答案 0 :(得分:4)

空字符串是所有字符串的成员。只需在Python提示符中尝试:

>>> "" in "lol"
True

您可以将letter初始化为您知道不属于某些选项的内容,例如<not chosen yet>,而不是空字符串。

答案 1 :(得分:2)

尝试将函数的第一行更改为letter = "David is cool",并仔细考虑将空字符串包含在另一个字符串中的含义,例如: "" in "XxOo"