即使出现错误,我如何继续循环? Python

问题描述 投票:0回答:2

我通过询问用户的问题在故事中有两个条件。

第一个条件为true,第二个条件为false。在第一个条件下,如果为真,我希望程序完成。在第二种情况下,如果它为假,我想循环回到我提出的问题。

我有以下代码,但是到目前为止,如果第一个为true,第二个为false,它将循环返回。有什么想法吗?

invalid = ValueError

def age():
  user_input = input("Enter your Age")
  try:
    val = int(user_input)
    print("Input is an integer number. Number = ", val)
  except ValueError:
    print("No.. input is not a number. It's a string")

while invalid:
  age()
python-3.x function loops while-loop loopback
2个回答
0
投票

我会让事情变得更简单,只使用布尔值作为您的延续标志,而不是ValueError:

ask_again = True
def age():
  user_input = input("Enter your Age")
  try:
    val = int(user_input)
    print("Input is an integer number. Number = ", val)
    ask_again = False
  except ValueError:
    print("No.. input is not a number. It's a string")

while ask_again:
  age()

看起来像您想要的吗?编码愉快!


0
投票

执行while循环的最简单方法是仅在True时使用,然后在满足条件后从循环中中断

def age():
  while True:
    try:
      val = int(input("Enter your Age"))
      print("Input is an integer number. Number = ", val)
      break
    except ValueError:
      print("No.. input is not a number. It's a string")

age()
© www.soinside.com 2019 - 2024. All rights reserved.