182 votes

Exemple d'utilisation de l'instruction "continue" en Python?

La définition de l'instruction continue est la suivante:

L'instruction continue se poursuit à la prochaine itération de la boucle.

Je ne trouve aucun bon exemple de code.

Quelqu'un pourrait-il suggérer des cas simples où continue est nécessaire?

227voto

snehal parmar Points 64

Voici un exemple simple:

   for letter in 'Django':     # First Example
      if letter == 'D':
          continue
      print 'Current Letter :', letter

  output will be 
  Current Letter :j
  Current Letter :a
  Current Letter :n
  Current Letter :g
  Current Letter :o
 

Il continue avec la prochaine itération de la boucle:

104voto

Lauritz V. Thaulow Points 12146

J'aime bien utiliser pour continuer dans les boucles où il y a beaucoup de contitions être remplies avant que vous obtenez "aux affaires". Ainsi, au lieu de code comme ceci:

for x, y in zip(a, b):
    if x > y:
        z = calculate_z(x, y)
        if y - z < x:
            y = min(y, z)
            if x ** 2 - y ** 2 > 0:
                lots()
                of()
                code()
                here()

Je reçois un code comme ceci:

for x, y in zip(a, b):
    if x <= y:
        continue
    z = calculate_z(x, y)
    if y - z >= x:
        continue
    y = min(y, z)
    if x ** 2 - y ** 2 <= 0:
        continue
    lots()
    of()
    code()
    here()

En le faisant de cette manière-je éviter très profondément imbriqués code. Aussi, il est facile d'optimiser la boucle en éliminant le plus souvent dans les cas de la première, de sorte que je n'ai que de traiter avec les fréquents, mais les cas importants (par exemple, diviseur 0) quand il n'y a pas d'autre écueil.

18voto

pcalcao Points 10302

Habituellement, le fait de continuer est nécessaire / utile lorsque vous souhaitez ignorer le code restant dans la boucle et poursuivre l'itération.

Je ne crois pas vraiment que ce soit nécessaire, car vous pouvez toujours utiliser les instructions if pour fournir la même logique, mais il peut être utile d'améliorer la lisibilité du code.

12voto

user1871712 Points 35
import random  

for i in range(20):  
    x = random.randint(-5,5)  
    if x == 0: continue  
    print 1/x  

continuer est extrêmement important de contrôle de l'instruction. Le code ci-dessus indique une application typique, où le résultat d'une division par zéro peut être évité. Je l'utilise souvent quand j'ai besoin de stocker la sortie de programmes, mais ne veulent pas stocker la sortie si le programme est tombé en panne. Remarque, pour tester l'exemple ci-dessus, remplacer la dernière instruction avec impression 1/float(x), ou vous obtiendrez des zéros à chaque fois qu'il existe une fraction, depuis randint renvoie un entier. J'ai omis pour plus de clarté.

0voto

jonathan.hepp Points 591

Par exemple, si vous voulez faire différentes choses en fonction de la valeur d'une variable:

 for items in range(0,100):
    if my_var < 10:
        continue
    elif my_var == 10:
        print("hit")
    elif my_var > 10:
        print("passed")
    my_var = my_var + 1
 

Dans l'exemple ci-dessus, si j'utilise break l'interprète ignorera la boucle. Mais avec continue il ignore uniquement les instructions if-elif et passe directement à l'élément suivant de la boucle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X