2017-05-09 17 views
1

私はそれは私が機能でこれを定める関数内の変数を定義する

NameError: name 'km' is not defined 

を言って続けて私のコードといくつかの問題を抱えています。 これを行うためにchoice関数を使用した方が良いでしょうか?

def userinput(): 
    while True: 
     try: 
      km = int(input("Enter the amount of kilometres you need (1 or 2)")) 
      break 
     except ValueError: 
      print ("Oops! That was no valid number. Try again...") 
    return 
userinput() 
if km >= 3: 
    userinput() 
if km <= 0: 
    userinput() 
if km == 1: 
    zone = 0.01862 
if km == 2: 
    zone = 0.02 
+1

変数は、最初に宣言されたスコープ内でのみ表示されます – Alnitak

答えて

1

次試してみてください。

def userinput(): 
    while True: 
     try: 
      km = int(input("Enter the amount of kilometres you need (1 or 2)")) 
      break 
     except ValueError: 
      print ("Oops! That was no valid number. Try again...") 
    return km 

km = userinput() 
if km >= 3: 
    km = userinput() 
if km <= 0: 
    km = userinput() 
if km == 1: 
    zone = 0.01862 
if km == 2: 
    zone = 0.02 

オリオン座ゼータ星が言ったようにそれに理由がある -

変数は、彼らが最初に

を宣言された範囲内でのみ表示されます

これはあなたを助けてくれることを願っています。

関連する問題