2016-10-07 5 views
-6

Ich erhalte diesen Fehlercode:Python Fehler: Variable nicht definiert

Traceback (most recent call last): 
File "C:/Users/PC/AppData/Local/Programs/Python/Python35-32/numbersum.py", 
line 21, in <module> print(largest) 
NameError: name 'largest' is not defined 

Dies ist mein Code:

def main(Numbers): 
    smallest = Numbers[0] 
    for i in range(0,len(Numbers),1): 
     if (Numbers[i] < smallest): 
      smallest = Numbers[i] 
      return(smallest) 

def main1(Numbers): 
largest=Numbers[0] 
for large in Numbers: 
    if large > largest: 
     largest=large 
return(largest) 



Numbers= [3,5,3,6,3,7,5,8,1] 

main(Numbers) 
main1(Numbers) 


final_ans = largest - smallest 
print(final_ans) 

Bitte mir helfen

+3

zugreifen Was ist es, dass es nicht tun soll? Die erste Sache, die ich sehe, ist, dass Sie Funktionen haben, die Werte zurückgeben, aber Sie speichern diesen Wert nirgendwo, Sie werfen es einfach weg. Die zweite Sache, die ich sehe, ist eine schlechte Einrückung. –

+1

Eine Menge Code macht keine Frage. Siehe [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask). –

+2

Meine telepathischen Fähigkeiten sagen mir, dass Sie hier ein Einrückungsproblem haben. "Smallest = Numbers [i] return (am kleinsten)", wodurch Sie zu früh aus Ihrer Schleife zurückkehren. Aber ich antworte nicht, da Sie nicht gefragt haben :) –

Antwort

1
def main(Numbers): 
    smallest = Numbers[0] 
    for i in range(0,len(Numbers),1): 
     if (Numbers[i] < smallest): 
      smallest = Numbers[i] 
    return(smallest) # error 1: correct indentation 

def main1(Numbers): 
    largest=Numbers[0] 
    for large in Numbers: 
     if large > largest: 
      largest=large 
    return(largest) 

Numbers= [3,5,3,6,3,7,5,8,1] 

smallest = main(Numbers) # error 2: capture returned values from function 
largest = main1(Numbers) 


final_ans = largest - smallest 
print(final_ans) 
1

größten und kleinsten existieren nur in der Kontext der Funktionen.

smallest = main(Numbers) 
largest = main1(Numbers) 

wenn Sie wie Sie den Code ändern, dass Sie größten und kleinsten

Verwandte Themen