我正在尝试在Python中为我的应用程序添加验证。
基本上我想确保他们的输入是一个数字,如果不是,它应该一直问他们输入的问题,直到他们得到它。
这是我得到的只适用于2次尝试,我相信它,因为它检查它是否为空。
我知道这是很多代码。还不确定另外一种方法可以做到这一点吗?
while amount != "":
try:
val = int(amount)
while counter < int(amount):
counter = counter + 1
ran = ran + 1
num3 = input(str(ran) + ". Input: ")
try:
val = int(num3)
except ValueError:
num3 = input(str(ran) + ". Input: ")
numbers.append(num3)
print("")
home()
except ValueError:
amount=input("How many numbers are in your list? ")
while counter < int(amount):
counter = counter + 1
ran = ran + 1
num3 = input(str(ran) + ". Input: ")
try:
val = int(num3)
except ValueError:
num3 = input(str(ran) + ". Input: ")
numbers.append(num3)
print("")
home()
答案 0 :(得分:1)
怎么回合
def get_int_input(txt):
x = raw_input(txt)
while not x.isdigit():
x = raw_input("Invalid Input. %s"%txt)
return int(x)
numbers = [get_int_input("%s input:"%i) for i in range(get_int_input("Enter Number Of values:"))]
请注意,这是基于我对你要做的事情的最佳猜测,而我可能无法理解你想要做什么