Python 当我输入一个空字符串(“此处无任何内容”)时,为什么它会忽略我的while条件?

Python 当我输入一个空字符串(“此处无任何内容”)时,为什么它会忽略我的while条件?,python,inputverifier,Python,Inputverifier,我有以下代码: 性别=严格输入“类型性别:”。上 当性不在“MF”中时: 性别=strinput“重试:”。上限 打印“完成!!!” 当我尝试输入几乎任何东西时,它都可以作为一种验证工作,但当它被激活时,它只是跳过我的while循环。 我在一开始就尝试初始化sex字符串,但是没有用:正如jasonharper所说,“MF”包含3个空字符串。要修复此问题,您可以将代码更改为: 当性不在“M”、“F”中时: 性别=strinput“重试:”。上限 打印“完成!!!” 或者,如果确实要使用“MF”,则

我有以下代码:

性别=严格输入“类型性别:”。上 当性不在“MF”中时: 性别=strinput“重试:”。上限 打印“完成!!!” 当我尝试输入几乎任何东西时,它都可以作为一种验证工作,但当它被激活时,它只是跳过我的while循环。 我在一开始就尝试初始化sex字符串,但是没有用:正如jasonharper所说,“MF”包含3个空字符串。要修复此问题,您可以将代码更改为:

当性不在“M”、“F”中时: 性别=strinput“重试:”。上限 打印“完成!!!” 或者,如果确实要使用“MF”,则可以在while循环中对空字符串进行额外检查:

而不是“性”和“性”不在“MF”中: 性别=strinput“重试:”。上限 打印“完成!!!”
“MF”确实包含一个空字符串,实际上有三个。您的测试还允许输入“MF”,因为您根本不检查子字符串的长度。不要在“M”和“F”中尝试性,只允许这两种特定的输入。@jasonharper击败了我;一开始我因为战斗疲劳而错过了这个。是的,空字符串包含在任何字符串中。非常感谢,帮助很大。我对编程真的很陌生,但我非常喜欢它,所以我认为第一个条件不是性更符合习惯。@kabanus谢谢你发现了这一点。我现在去换了