Python 虽然不是 True 或 False

Ash*_*y B 4 python python-3.x

如果提供的值不是“是”或“否”,是否可以使用 while 循环来不断询问输入值?例如

someVar = None

while someVar is not (True or False):

  someVar = str.lower(input())

  if someVar == 'yes':
      someVar = True

  elif someVar== 'no':
      someVar = False
Run Code Online (Sandbox Code Playgroud)

Ant*_*ham 5

是的!

满足条件后,使用break

while True:
    someVar = str.lower(input())

    if someVar == 'yes':
        someVar = True
        break
    if someVar == 'no':
        someVar = False
        break
Run Code Online (Sandbox Code Playgroud)

您还可以使用while False

met = True

while met:

   someVar = str.lower(input())

   if someVar == 'yes':
        someVar = True
        break
    if someVar == 'no':
        someVar = False
        break
Run Code Online (Sandbox Code Playgroud)

由于所有字符串都是True,请使用另一个变量来存储TrueFalse。一旦metfalse,那么循环就会中断。