2016-12-31 67 views
-2

我有這個代碼,但是如果我輸入nam(2,3)它什麼也不做。問題是什麼?Python - 使用參數不能識別的函數創建

def nam(a, y): 
    a = int(input()) 
    y = int(input()) 
    e = a+y 
    print(e) 

編輯

如何使插口僅整數不會是一個無限循環,只是聲明瞭一次,期待一個有效的輸入?

def aa(nam, x): 
    na = (nam) 
    while True: 
     try: 
      age = int(x) 
     except ValueError: 
      print("Insert only integers") 
      continue 
     else: 
      break 
    print(na,age) 


aa("nic", "adeg") 
+3

那麼會發生什麼呢?你預計會發生什麼? **您在哪裏運行此代碼?請注意,許多IDE控制檯沒有實現輸入。 –

回答

2

你打電話input(),因此該方案正在等待用戶輸入。此外,該函數將使用此用戶輸入來覆蓋它傳遞的值ay,這可能不是您想要的。刪除input來電,你應該沒問題:

def nam(a, y): 
    a = int(a) 
    y = int(y) 
    e = a+y 
    print(e) 
+0

可以再次檢查問題並幫助編輯部分? – gsa

1

你傳遞函數的自變量,但然後要求用戶輸入的(這就是爲什麼「什麼也沒發生」。程序等待該輸入)。

只需使用你傳遞的參數。

def nam(a, y): 
    e = a + y 
    print(e) 

nam(2, 3)