Python >> Tutoriel Python >  >> Python

Instructions de flux de contrôle Python

Parmi les ingrédients qui rendent un langage de programmation puissant figurent les instructions de flux de contrôle . Le Python for loop est l'une de ces instructions de flux de contrôle. Le if déclaration en est une autre. Dans ce didacticiel, vous découvrirez les deux !

Boucle for Python

Le monde qui nous entoure est construit autour de la répétition. Le soleil se lève tous les matins et après l'hiver vient le printemps. En tant que codeurs, nous modélisons et simulons le monde réel et créons nos propres mondes avec nos propres lois et répétitions. Supposons que vous souhaitiez programmer un serveur Web qui répète indéfiniment le comportement suivant. Attendez une demande de l'utilisateur et répondez-y. Comment pouvez-vous programmer le serveur Web pour qu'il répète ce comportement des milliers de fois ?

L'approche naïve consiste à mettre la séquence d'étapes dans le code source lui-même. En d'autres termes, copiez et collez la séquence d'étapes des milliers de fois. Pourtant, le code répété est redondant, difficile à lire, à déboguer et à maintenir. En tant que programmeurs, nous devons éviter à tout prix le code redondant.

Quel est le résultat de cet extrait de code ?

words = ['cat', 'mouse']
for w in words:
print(len(w))

L'instruction Python for loop est un moyen de sortir du code redondant. Vous n'écrivez le code qu'une seule fois et le placez dans différents contextes. En d'autres termes, la variable de boucle (par exemple w dans le code) tient compte des différents contextes d'exécution des boucles. Par exemple, dans le mot puzzle w est le premier 'cat' et deuxième 'mouse' .

Le for boucle répète l'exécution du corps du code pour tous les éléments d'une séquence. Ensuite, il itère sur tous les éléments de la séquence dans l'ordre de la séquence. Dans le code, nous imprimons la longueur de chaque mot de la séquence.


Êtes-vous un codeur maître?
Testez vos compétences maintenant !

Vidéo associée

httpv://www.youtube.com/watch?v=embed/PXMAsn9EhOo

Solution :

3
5

Boucle While Python

Dans ce cas, vous utiliserez la boucle while qui est plus puissante car vous pouvez exécuter le corps de la boucle indéfiniment.

Par exemple, un serveur Web exécute en interne une boucle while qui ne s'arrête jamais (le serveur s'exécute indéfiniment). Chaque fois qu'un nouvel utilisateur demande la page Web, le serveur Web sert la page et attend l'utilisateur suivant.

Voici un exemple de boucle while qui s'exécute indéfiniment :

# Your fancy web app
while True:
    print("<html> ... </html>")
'''
<html> ... </html>
<html> ... </html>
<html> ... </html>
<html> ... </html>
...
'''

La boucle while exécute le corps de la boucle tant que la condition booléenne directement après l'instruction while est évaluée à True . Dans l'exemple, c'est toujours le cas. Par conséquent, le programme s'exécute indéfiniment jusqu'à ce que vous le terminiez avec force.

Mais vous pouvez également utiliser des conditions while plus compliquées comme indiqué dans l'exemple suivant :

# Puzzle
x = "hello world"

while not len(x) == 5:
    x = x[1:]

print(x)

Quelle est la sortie de ce puzzle de code ? Trouvez la solution ci-dessous(**).

Instruction Si Python

L'instruction if vous permet de contrôler l'exécution du programme en saisissant différentes branches d'exécution dans différents états du programme. Voici un exemple :

half_truth = 21

if 2 * half_truth == 42:
    print('Truth!')
else:
    print('Lie!')

# Truth!

La condition si 2 * half_truth == 42 génère un résultat qui vaut soit True ou False . Dans le premier cas, il entre la première branche print('Truth!') . Dans ce dernier cas, il entre dans la deuxième branche print('Lie!' ). Comme l'expression est évaluée à True , la première branche est entrée et la sortie du shell est 'Truth!' .

Fait intéressant, vous pouvez utiliser n'importe quel objet Python comme condition if. Pourquoi? Parce que chaque objet Python a une valeur booléenne implicitement associée. Par exemple, de nombreux codeurs Python passent des objets de liste dans la condition if. Une liste vide vaut False , et une liste non vide vaut True . Voici un exemple :

lst = []

if lst:
    print('Full!')
else:
    print('Empty!')

# Empty!

Si vous n'avez pas besoin d'entrer dans la branche else, vous pouvez simplement l'ignorer :

if 2+2 == 4:
    print('FOUR')

# FOUR

La sortie n'est imprimée que si la condition if est évaluée à True . Sinon, le code n'a aucun effet secondaire car il est simplement ignoré par le flux d'exécution.

D'autre part, vous pouvez avoir une situation où plus de deux conditions peuvent s'appliquer. Dans ce cas, vous pouvez utiliser le elif mot-clé :

x = input('Your Number: ')

if x == '1':
    print('ONE')
elif  x == '2':
    print('TWO')
elif x == '3':
    print('THREE')
else:
    print('MANY')

Le code prend votre entrée et la compare aux chaînes '1' , '2' , et '3' . Dans chaque cas, une sortie différente est imprimée. Seulement si aucune chaîne ne s'applique, la branche finale est entrée et la sortie est 'MANY' .

Sortie de puzzle (**) :

x = "hello world"

while not len(x) == 5:
    x = x[1:]

print(x)
# world