我有这个代码:
sex = str(input('type sex:')).upper()
while sex not in 'MF':
sex = str(input('try again: ')).upper()
print('Done!!!')
当我尝试输入几乎任何内容时,它可以很好地用作验证,但是当它是 '' 时,它只会跳过我的 while 循环。我已经尝试在开始时初始化性别字符串,但它没有帮助:c
我有这个代码:
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!!!')