Il ya quelques jours, j'ai acheté un livre intitulé "Python for Kids (For Dummies)". À la page 47, il est un exemple d'un simple bloc de code:malentendu du code fondamental
a = 2
while a < 10:
a = a + 1
print (a)
Il en résulte la séquence:
3 4 5 6 7 8 9 10
Je pense que ce résultat est incorrect parce que:
- ' 2 'n'est pas imprimé en dépit d'être déclaré dans la première ligne du code.
- '10' est imprimé, même si 10 est égal à lui-même (en violation de la condition
a < 10
).
Même si je fais la condition 'while' a <= 10
, il imprime les nombres 3 à 11, ce qui est encore incorrect.
Ce que je pense, devrait être le bon code est la suivante:
a = 2
while a < 10:
print (a)
a = a + 1
Résultant dans:
2 3 4 5 6 7 8 9
Voici ce que j'attendais du code. J'ai joué un petit peu avec le code et assez intéressant, Python permet d'étranges arrangements qui sont exécutables sans erreur mais totalement incorrects! Par exemple:
a = 2
while a < 30:
a = a + 5
print (a)
Il en résulte uniquement le nombre '32', ce qui semble être incorrect.
Si j'indenter print (a)
par 4 espaces, je reçois:
7 12 17 22 27 32
Cela semble également être incorrect. Pouvez-vous m'expliquer pourquoi je reçois ces sorties?
Le code est exécuté ligne par ligne. Déballez la boucle while, et vous verrez facilement l'incrément et l'impression sont effectués avant que la condition suivante ne soit vérifiée. –
Vous ne devriez pas supposer que tout le monde, sauf vous, a tort. – user2357112
bienvenue dans le monde étrange de la programmation informatique :) –