2017-05-09 5 views
1

ich einige Probleme mit meinem Code habe immer wieder sagen, esDefinieren einer Variable in einer Funktion

NameError: name 'km' is not defined 

definiere ich diese in der Funktion. Wäre es besser, wenn ich die Auswahlfunktion dazu verwenden würde?

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

Variablen sind nur innerhalb des Bereichs sichtbar, in dem sie zuerst deklariert werden – Alnitak

Antwort

1

Versuchen Sie Folgendes:

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 

Der Grund, das ist wie Alnitak sagte -

Variablen im Rahmen nur sichtbar sind, in dem sie zuerst deklariert werden

Hoffentlich hilft dir das, Yahli.

Verwandte Themen