Après avoir commencé la programmation, j'ai réussi à écrire des instructions simples pour et while, mais ...
** continuer la déclaration? déclaration break Comment l'utilisez vous? ?? ** ** ** Double boucle? ?? Triple boucle? ?? Et qu'arrive-t-il à l'ordre de traitement lorsque l'instruction if est ajoutée? ?? ?? ** **
C'est mon dossier d'étude qui est resté bloqué.
La partie 1 concerne les boucles simples (pour, si, continuez, les instructions break). Enfin, une petite double boucle sort en bonus. (J'ai essayé d'écrire une boucle double / triple, mais c'était trop long, donc je le ferai la prochaine fois. Sweat)
Tous les programmes suivants sont numérotés sur le côté gauche pour faciliter la compréhension du flux de lecture de code. Si vous souhaitez vérifier le fonctionnement du programme, veuillez le saisir vous-même. C'est un problème, mais c'est une bonne étude. (Je le fais en vérifiant, mais je suis désolé si je fais une erreur)
01 for i in range(4):
02 print(i)
Résultat d'exécution
0
1
2
3
Commençons par une simple instruction for. Lorsque vous exécutez le programme ci-dessus, vous pouvez voir que le processus de 1 → 2 → 1 → 2 → 1 → 2 → 1 → 2 est répété. (Ci-après → omis) Ordre de traitement: 12121212
1 for i in range(4):
2 if i < 2:
3 print(i)
Résultat d'exécution
0
1
Il va à 123123, mais puisque ʻi = 2 et 2 devient ʻi <2 == False
, le processus de 3 n'est pas exécuté. La même chose est vraie pour le prochain ʻi = 3`.
Traitement de l'ordre: 1231231212
Mais que se passe-t-il s'il y a une autre déclaration ici?
1 for i in range(4):
2 if i < 2:
3 print(i)
4 else:
5 print('a')
Résultat d'exécution
0
1
a
a
Il en va de même jusqu'au milieu, mais il ne revient pas à 1 à l'endroit où le processus de 3 n'a pas été exécuté plus tôt, et continue avec 45. Traitement de la commande: 123123124451245
Ensuite, mettez une instruction continue au lieu de else
1 for i in range(4):
2 if i < 2:
3 print(i)
4 continue
5 print('a')
Résultat d'exécution
0
1
a
a
Le programme était différent, mais le résultat était le même. (La personne qui l'a écrit a également été surprise!?)
Cependant, l'ordre de traitement est différent.
Lorsque l'instruction continue est exécutée, la répétition sous l'instruction continue est ignorée. Dans le cas du programme ci-dessus, le print ('a')
de 5 n'est pas exécuté.
Ordre de traitement: 12341234125125
Au fait, quel est le résultat de l'exécution si seule l'instruction continue du programme ci-dessus est supprimée? Ceci est un bonus. Si vous le souhaitez, pensez-y ou exécutez le programme vous-même.
1 for i in range(4):
2 if i < 2:
3 print(i)
4 print('a')
Résultat d'exécution
0
a
1
a
a
a
Comment était-ce, était-ce comme prévu?
Dans la version 1.4, print ('a')
, qui était ignorée par l'instruction continue, était toujours exécutée.
Comme vous pouvez le voir, l'instruction continue est utile lorsque vous avez un programme que vous souhaitez laisser non traité sous certaines conditions.
Ordre de traitement: 12341234124124
1 for i in range(4):
2 if i < 2:
3 print(i)
4 break
5 print('a')
Résultat d'exécution
0
Vient ensuite l'instruction break. Je viens de changer l'instruction continue de la version 1.4 en une instruction break Le résultat de l'exécution a considérablement changé par rapport à 1.4. Si vous passez à 123 et exécutez l'instruction break de 4, le traitement de la boucle sera interrompu de force. Donc, il était censé faire une boucle 4 fois, mais il s'est terminé en 1 fois. Ordre de traitement: 1234
Enfin, en prime, je vais vous présenter ce qui se passe s'il y a une instruction break dans une double boucle et la terminer.
1 for i in range(4):
2 if i < 2:
3 print(i)
4 for j in range(2):
5 print(j+10)
Résultat d'exécution
0
10
11
1
10
11
Tout d'abord, vérifiez la double boucle de base. 1 pour i dans la plage (4): plus loin dans l'instruction for de
Quand il y a une instruction for de for j in range (2):
of 4.
L'ordre de traitement passe à 123 et devient 4545, où il revient à 1.
En d'autres termes, après avoir terminé tout le traitement de la boucle interne, il revient au traitement de la boucle externe.
Et comme précédemment, si 2 devient ʻi <2 == False`, 3 ne sera pas exécuté. Traitement de la commande: 12345545123445512212
Vient ensuite le cas où il y a une instruction break dans la double boucle du sujet principal.
1 for i in range(4):
2 if i < 2:
3 print(i)
4 for j in range(2):
5 print(j+10)
6 break
Résultat d'exécution
0
10
1
10
Je viens d'ajouter break à la fin de l'instruction double boucle. Si l'instruction break est dans la boucle externe, le résultat est le même que 1.5, donc je la mets dans l'instruction for interne.
Comme précédemment, allez à 12345 et exécutez l'instruction break à 6, puis l'instruction break sera Termine de force le traitement de la boucle interne.
Revenez ensuite à la boucle extérieure et continuez avec 123456 pour revenir à 1. Et quand 2 devient ʻi <2 == False`, 3 n'est pas exécuté. Traitement de la commande: 12345612345612112
Merci d'avoir lu cet article. J'espère que cela vous aide même un peu. Comme il s'agissait de mon premier article, il a peut-être été difficile à lire dans de nombreux endroits. Dans ce cas, merci de me le faire savoir dans les commentaires. Ce sera très utile car cela mènera à la prochaine réflexion.
En fait, j'allais écrire sur la déclaration while, ** 'Ce n'est pas très différent de la phrase, vous n'avez pas à l'écrire' ** Je ne pense pas que. Désolé pour le manque de sueur d'étude
** S'il vous plaît se référer à cette citation pour une utilisation correcte de la déclaration et de la déclaration while! N'étudiez plus! !! '** Tsukkomi est le bienvenu. Merci de votre collaboration.
Cet article est basé sur les sites suivants.
http://www.yamamo10.jp/yamamoto/comp/Python/loop/index.php
Recommended Posts