我通过询问用户的问题在故事中有两个条件。
第一个条件为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()
我会让事情变得更简单,只使用布尔值作为您的延续标志,而不是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()
看起来像您想要的吗?编码愉快!
执行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()