2016-09-30 102 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: ")