Das Problem mit Ihrem Code ist, dass Sie erste Abfrage für die Eingabe mit raw_input
, aber sofort wandelt es in ein int(..)
.
Es gibt zwei Möglichkeiten: Entweder es gelingt, in durch Anhängen es getan welchem Fall die Verarbeitung, aber in diesem Fall number
kann nie 'q'
sein, oder wenn es q
ist, int(..)
ausfällt, wirft einen Fehler, und Sie werden ausführen die except:
Verzweigung.
Sie können dieses Problem beheben, indem man zuerst den Eingang (in number
zum Beispiel) zu speichern, zu überprüfen, ob es 'q'
ist, und wenn nicht, zu verarbeiten, so etwas wie:
lst = []
while True:
try:
number = raw_input("Enter a number: ") # no int(..)
if number == 'q':
break
else:
lst.append(int(number))
print lst
except:
print "Please enter a number!"
Sie die else:
verlassen können (nur die else:
nicht der Körper der else:
) aus dem Programm wie @schwobaseggi sagt.
Wie kann 'number'' q' sein, wenn Sie es in ein 'int' konvertieren? –
Ahhh ... und danke für die Bearbeitung für mich. Das macht absoluten Sinn. Ich werde zurückgehen und es umschreiben. Ich denke, ich werde es zu einem int in append machen. Dank. – magic9669
müssen Sie ** vor ** anhängen. –