2016-03-27 6 views
1

Ich möchte eine Reihe von Zahlen zusammenaddieren, wobei die endgültige Nummer der Sentinel ist (999). Wenn 999 eingegeben wird, endet die Eingangsschleife und die Antworten werden gedruckt, andernfalls wird die Schleife fortgesetzt und die Eingabe hinzugefügt. Aber wenn ich das Programm ausführen, zeigt es den Fehler:Versucht, eine Sentinel-gesteuerte Schleife zu verwenden, um eine Menge Ganzzahlen hinzuzufügen und zu berechnen

Traceback (most recent call last): 
    File "lab9.py", line 4, in <module> 
    sum += kbInput 
TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int' 

-Code ist unten:

kbInput = input() 
while int(kbInput) != 999: 
     kbInput = input() 
     sum += kbInput 
     count += 1 
     average = sum/average 
print("Sum", sum) 
print("Average", average) 

Antwort

2

sum ist eingebaute Funktion. Verwenden Sie den Namen sum_ und setzen Sie ihn auf Null vor der Schleife:

sum_ = 0 
count = 0 
while True: 
    kbInput = float(input()) 
    if kbInput == 999: 
     break 
    sum_ += kbInput 
    count += 1 
average = sum_/count 
print("Sum", sum_) 
print("Average", average) 
+0

Danke @ Mike Muller –

Verwandte Themen