Les bases de la programmation consistent en «branchement conditionnel» et «répétition». Utilisez l'instruction for ou while pour la répétition et utilisez l'instruction if pour le branchement conditionnel.
Les instructions for et while sont identiques dans le sens de la répétition, mais la différence est que l'instruction for combine toutes les conditions liées au contrôle de répétition en une seule instruction. Par conséquent, si le processus d'initialisation, de jugement de continuation et de mise à jour des variables est simple, l'instruction for qui vous permet de tout lire en un coup d'œil est préférée, et si elle est compliquée, l'instruction while est préférée.
table des matières 1 [Qu'est-ce qu'une instruction Python for? ](## Qu'est-ce qu'une instruction Python for?) 2 [Répéter l'instruction en utilisant la fonction range dans l'instruction for](## Répéter l'instruction en utilisant la fonction range dans l'instruction for) 3 [Branchage conditionnel utilisant les instructions for et if](## Branchement conditionnel utilisant les instructions for et if) 4 [instruction break-continue](## instruction break-continue) 5 [instruction for-else](## instruction for-else)
La syntaxe de l'instruction for est la suivante.
pour variable dans une collection de données:
En traitement
si condition:
Processus A
Processus B
Processus C
En principe, le flux de l'instruction for consiste à "retirer les données une par une" d'une "collection de données". Différents objets peuvent être placés dans la partie "collecte de données". Vous pouvez y mettre votre propre classe si vous suivez certaines règles.
«Variable» est le nom utilisé pour accéder à un objet extrait d'une collection de données. Vous pouvez écrire n'importe quel nom ici, et les noms tels que "i, j, k", "index" et "counter", qui sont souvent utilisés dans le processus de "bouclage 〇 fois", sont des "chaînes de caractères". Des noms tels que "char" sont souvent utilisés pour "extraire des caractères de", et "row" est souvent utilisé pour "extraire une ligne d'une base de données ou d'un fichier texte".
Par exemple, le processus d’extraction et d’affichage de la chaîne de caractères «Bonjour» un par un est le suivant.
for char in 'Hello':
print(char)
Résultat d'exécution
H
e
l
l
o
Fin
C'est parce que le "H" dans "Hello" est d'abord affecté au nom de variable char. Dans print (char), il est initialement affiché comme "H". Ensuite, "e" est passé à la variable char et affiché par print (char), puis le même traitement que e, l, l, o est effectué.
Chaîne - «Python»
Liste -[‘perl’, ‘python’, ‘php’, ‘ruby’]
Taple -(‘perl’, ‘python’, ‘php’, ‘ruby’)
Ensemble -{‘perl’, ‘python’, ‘php’, ‘ruby’}
Dictionnaire -{‘language': ‘Python’, ‘frame_work': ‘Django’}
Fin
Le processus itératif le plus courant est "répéter un nombre spécifié de fois". L'instruction Python for utilise ce qu'on appelle la "fonction de plage".
Voici un exemple d'énoncé qui se répète 5 fois.
for i in range(5):
print(i)
Résultat d'exécution
0
1
2
3
4
Fin
Beaucoup de gens trouvent cela un peu déroutant, mais le premier i à entrer est 0. 0, 1, 2, 3, 4 sont affichés dans l'ordre. Si vous n'aimez pas cela, vous pouvez faire ce qui suit:
for i in range(1, 6):
print(i)
Résultat d'exécution
>
1
2
3
4
5
Fin
Si vous bouclez de 1 à 100, la fonction de plage ressemble à ceci:
for i in range(1, 101):
print(i)
Il est très courant de répéter le processus et de modifier le processus en fonction de certaines conditions. Écrivons un processus qui se répète de 1 à 10 et ne s'affiche que lorsqu'il est un multiple de 3.
C'est de 1 à 10, donc c'est la gamme (1, 11)
for i in range(1, 11):
if i % 3 == 0:
print(i)
Résultat d'exécution
3
6
9
Fin
Bien sûr, vous pouvez également écrire elif, else, etc. Même dans l'instruction for, la fonction de l'instruction if ne change pas.
Comme pour la boucle while, la rupture de la boucle avec break et le saut à la boucle suivante avec continue sont également pris en charge.
L'exemple de code suivant recherche la chaîne «python» dans la liste, affiche «OK» si elle correspond, quitte la boucle et affiche la chaîne dans le cas contraire.
strings = ['ruby', 'python', 'perl', 'java', 'c']
for string in strings:
if string == 'python':
print('OK')
break #Depuis qu'ils correspondent, éclatent
print(string)
Résultat d'exécution
ruby
OK
Fin
Depuis que j'ai franchi la boucle avec pause, les chaînes de caractères suivantes ne sont pas affichées. Si vous faites quelque chose qui fait la même chose avec continue, ce sera comme suit.
strings = ['ruby', 'python', 'perl', 'java', 'c']
for string in strings:
if string != 'python':
print(string)
continue #Puisqu'ils ne correspondent pas, passez à la boucle suivante
print('OK')
break
Bien que cela dépende du processus, continuer n'est pas utilisé si souvent, donc fondamentalement, il n'y a pas de problème si vous vous souvenez de la pause.
Comme l'instruction while, vous pouvez utiliser else.
Vous trouverez ci-dessous une liste des résultats des tests, aucun score inférieur à 70 étant affiché comme «réussi».
scores = [100, 71, 80, 99, 75] #Réussi car il n'y a pas moins de 70 points
for score in scores:
if score <= 70:
break
else:
print('Passer')
Ne soyez pas confus si vous vous souvenez que ce bloc else ne convient que s'il n'y a pas de pause. Cette fois, il n'y a pas eu de pause avec 70 points ou moins, alors je suis entré dans le bloc else et j'ai affiché "Pass". Notez que vous pouvez entrer else sans boucler une seule fois. Dans cet exemple, vous pouvez réussir même si vous n'avez pas passé le test (même si la liste est vide).
Site de référence: [Introduction à Python] Comment écrire des phrases répétées en utilisant des instructions for