in python die for-Schleife, springen über Werte
time=0
gold=0
level=1
for time in range(100):
gold+=level
if gold>20*level:
level+=1
time+=10
mit diesem Programm gold Hinzugefügt wird, bis es erreicht eine kritische Menge, dann dauert es 20s upgrade auf eine mine, so produziert es mehr gold. ich möchte, lassen Sie die 20er Jahre (oder 20 Schritte) in der Schleife? dies funktioniert in c++, ich bin mir nicht sicher, wie es in python.
InformationsquelleAutor kirill_igum | 2011-03-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tun Sie es nicht in
range(100)
. Diefor
Schleife nicht bieten einen Weg, um zu springen, wie, dass;time
werden auf den nächsten Wert in der Liste unabhängig davon, was Sie es ändern, um in den Körper der Schleife. Verwenden Sie einewhile
Schleife statt, z.B.InformationsquelleAutor kindall
time
wird ständig überschrieben wird jeder loop-iteration, sotime+=10
wird nicht den gewünschten Effekt haben. Sie können konvertieren Sie die Schleife zurück in ein C-Stil-Schleife mitwhile
und explizite mutation destime
variable, oder Sie könnte Lust, und setup einen iterator, die es erlaubt zu überspringen beliebige Werte.InformationsquelleAutor Edward Z. Yang
Ihre Zuordnung zu
time
auf die Letzte Zeile hat keine Wirkung. An der Spitze der Schleife, dietime
ist sofort zugewiesen, um den nächsten Wert ergab sich durchrange
. Aber warum ist das eine Schleife an alle, kann man nicht einfach die Berechnungen geradezu?InformationsquelleAutor rlibby