J'essayais d'atteindre cette sortie:
iter = 0 count = 0 letter = 0 for iter in range(5): while letter < len("hello, world"): letter+=1 count+=1 print("Iteration " + str(iter) + "; count is: " + str(count))
3 Réponses :
lettre code> est toujours 13 car il n'est pas réinitialisé. Donc, tandis que la boucle ne sera exécutée qu'une seule fois. Pour résoudre ce problème,
count = 0
for iter in range(5):
letter = 0
while letter < len("hello, world"):
letter+=1
count+=1
print("Iteration " + str(iter) + "; count is: " + str(count))
iter = 0 code> est également inutile.
Qu'est-ce qui se passe ici est que vous ne définissez jamais lettre d'impression comme ceci: p> sorties: p> après le premier tandis que l'itération Assurez-vous de définir lettre code> à 0 après une intervention. Donc
lettre code> reste toujours à 12.
lettre code> reste à 12 et donc
tandis que la lettre <12: code> n'est jamais exécutée, le nombre code> ne peut jamais augmenter. < / p>
lettre code> à 0 après chaque
pendant code> boucle: p>
là! Cela peut être corrigé en réinitialisant la lettre à 0 après chaque boucle. La boucle tandis que la boucle ne fonctionnera que la première fois parce que, pendant la deuxième fois, la valeur de la lettre augmente à 13 et n'est plus
Quelles sont les règles pour la construction des chiffres après
; code>? C'est toujours
i + = 12 code>?
Après le premier
tandis que code> est terminé, la lettre est égale à la longueur de Hello World, donc
Nombre code> n'est jamais incrémenté dans la seconde et les interventions suivantes. Ainsi (où) devriez-vous (re) initialiser
lettre code>?
On dirait que votre code et la sortie attendue ne correspond pas
Initialisation
iTER code> est inutile. For-Lops fait la variable de choses pour vous.
@mrblewog Vous avez raison, je devrais initialiser (réinitialiser) lettre i> après toutes les personnes terminées pendant l'itération. Entre pour i> et pendant i> déclaration
lettre = 0 code>