在python中进行循环验证

时间:2013-10-28 16:44:18

标签: python

我正在尝试在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()

1 个答案:

答案 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:"))]

请注意,这是基于我对你要做的事情的最佳猜测,而我可能无法理解你想要做什么