2016-09-30 97 views
2

如何创建验证以下内容的函数?使用函数进行数据验证

def get_order(): 
    order=int(input("Select an item number: ")) 
    return order 

我尝试这样做:

def validate_order(order_choice): 
    order_choice=get_order() 
    return order_choice 
    while order_choice < 1 or order_choice > 8: 
     order_choice=int(input("Invalid value. Re-enter item number: ")) 
     return order_choice 

我很困惑如何正确使用的参数。

谢谢!

+1

为什么不把验证逻辑'get_order' –

+0

我不明白你为什么把东西放在'return'语句之后。这些行是**从未**将被称为。 – Efferalgan

+0

@MosesKoledoye这是一个家庭作业的任务,并且说明声明验证必须有它自己的功能。感谢您的答复。 –

回答

0
def get_order(): 
    order=int(input("Select an item number: ")) 
    return order 

验证:

def validate_order(order_choice): 
    order_choice=get_order() 
    while order_choice < 1 or order_choice > 8: 
     order_choice=int(input("Invalid value. Re-enter item number: ")) 
    return order_choice 
+0

之外这工作!非常感谢! –

0

我打算假设你想验证订单号确实是一个整数。

为此,我们将使用isinstance()函数。它接受一个变量和一个类型,并根据它是否与第二个参数匹配返回TrueFalse

在你的情况下,它看起来就像这样:

order = input("Select an item number: ") 
while isinstance(order, int) or order not in xrange(1,9): 
    order = get_order("Invalid value. Re-enter item number: ")