2016-12-31 19 views
-2

私はこのコードを持っていますが、nam(2,3)と入力すると何もしません。何が問題ですか?Python - 引数が認識されない関数の作成

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

EDIT挿入整数のみが無限ループにし、一度だけ、それを宣言し、有効な入力を期待しないようにする方法

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) 
関連する問題