我有这个代码:
sex = str(input('type sex:')).upper()
while sex not in 'MF':
sex = str(input('try again: ')).upper()
print('Done!!!')
当我尝试输入几乎任何内容时,它作为验证工作正常,但是当它是“”时,它只会跳过我的 while 循环。 我一开始就尝试过初始化性别字符串,但没有帮助:c
最佳答案
正如 jasonharper 所说,'MF'
包含 3 个空字符串。要修复它,您可以将代码更改为:
while sex not in ('M', 'F'):
sex = str(input('try again: ')).upper()
print('Done!!!')
或者,如果您确实想使用'MF'
,您可以在 while 循环中额外检查空字符串:
while not sex and sex not in 'MF':
sex = str(input('try again: ')).upper()
print('Done!!!')
关于python - 为什么当我输入空字符串 ('nothing here' 时它会忽略我的 while 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61706636/