en python la boucle for, sauter par-dessus les valeurs
time=0
gold=0
level=1
for time in range(100):
gold+=level
if gold>20*level:
level+=1
time+=10
avec ce programme, l'or est ajoutée jusqu'à ce qu'il atteigne un montant, puis il prend 20 ans pour mettre à niveau une mine de sorte qu'il produit plus d'or. j'aimerais ignorer ces 20 ans (ou 20 étapes) dans la boucle? cela fonctionne en c++, je ne suis pas sûr de savoir comment faire en python.
Vous devez vous connecter pour publier un commentaire.
Ne le faites pas dans
range(100)
. Lefor
boucle ne permet pas à venir la sauter comme ça;time
sera fixé à la valeur suivante dans la liste, indépendamment de ce que vous changer dans le corps de la boucle. Utiliser unwhile
boucle au lieu, par exemple,time
continuellement être écrasé à chaque itération de boucle, de sortetime+=10
n'aura pas l'effet désiré. Vous pouvez convertir la boucle de retour dans un style C boucle à l'aide dewhile
et explicite de la mutation de latime
variable ou vous pourriez être de fantaisie et de configuration d'un itérateur qui permet d'avancer sur des valeurs arbitraires.Votre affectation à
time
sur la dernière ligne n'a pas d'effet. Au sommet de la boucle,time
est immédiatement affecté à la valeur donné parrange
. Mais pourquoi est-ce une boucle à tous, ne pouvez-vous pas juste de faire les calculs pure et simple?