2017-08-10 44 views
-3

我創建了兩個函數,即inputData():和validateNumber(): 在inputData()函數中,我輸入一個值並將其存儲在名爲number的變量中。然後我想將該參數傳遞給validateNumber():function。但它不是工作:( 這將是好,如果有人向我解釋錯誤:) 關心。另一個函數的Python參數傳遞

Here's the code:

def inputData(): 
    number = int(input("Enter a Number: ")) 
    print(number) 
    return number 

def validateNumber(number): 
    n=2 
    while number > n: 
     if number%n==0 and n!=number: 
      print("Not Prime") 
      break 
     else: 
      print("Prime") 
      break 
    return number 

inputData() 
validateNumber() 

Here's the error code

+3

[請勿將您的代碼作爲圖像發佈。](// meta.stackoverflow.com/q/285551) –

回答

2

您需要按照以下步驟執行函數調用:

validateNumber(inputData()) 

number = inputData() 
validateNumber(number) 

def validateNumber(number)你告訴python函數validateNumber在被調用時必須接收一個參數。但是,當您調用它時,您沒有將參數傳遞給它。

如果你是新的節目,看看這個教程:Python Functions明白:

  • 什麼是函數
  • 如何定義它們
  • 如何使用它們。
+0

您的代碼有效:)但現在它向用戶詢問提示兩次以輸入數字?這是爲什麼? 下面給出的是輸出。 輸入數字:5 輸入數字:5 Prime –

+0

@ArunodaGunawardanaAdee代替粘貼代碼圖像,將實際代碼複製並粘貼到您的文章中,以便我可以在我的機器上運行它並幫助您調試問題。 – MedAli

+0

對不起我的壞:(下面是實際的代碼, 高清inputData(): 數= INT(輸入( 「輸入一個數字:」)) 回數 高清validateNumber(號碼): N = 2 而數> n: 如果數字%n == 0且n!=號: 打印( 「不是素數」) 破 其他: 打印( 「總理」) 破 回數 inputData() validateNumber(inputData()) –

0

您需要存儲inputData某些變量()函數的值,然後將它傳遞給第二個功能是這樣

>> number = inputData() 
>> validateNumber(number) 
0

你沒有輸入的號碼傳遞給驗證功能。

returned_input_number = inputData() 
validateNumber(returned_input_number) 

而且,我覺得有點奇怪,你validateNumber函數返回一個數字。返回True或False可能更好(取決於數字是否有效)。要麼,要麼「驗證」是該函數的錯誤名稱。

相關問題