2017-09-23 2 views
-2

Je suis nouveau à la programmation et nous avons trouvé cela si ... pour ... autre boucle, s'il vous plaît me aider à le comprendre:Besoin d'aide en Python if..for..else boucle

if(True): 
    for i in range(0, 1): 
     print i 
    else: 
     print 'x' 

[ écrit en Python 2.7] Ce qui donne une sortie:

0 
1 

Cela semble qu'il exécute à la fois la boucle et la boucle d'autre, mais la boucle d'autre n'est pas autorisé. Pourquoi? Quelle est la différence entre ceci et la boucle normale si ... else?

+1

Hmm, double de https://stackoverflow.com/q/9979970/2301450? – vaultah

+1

Il existe une instruction 'if', ** et ** une instruction [for ... else ...] (https://stackoverflow.com/questions/9979970/why-does-python-use-else-after- pour-et-while-boucles), ils ne sont pas ensemble comme vous pouvez le dire à partir du niveau d'indentation. – abccd

Répondre

1

Il s'agit d'une boucle for - else. Il exécute le code dans la boucle for et s'il se termine normalement, il exécute la clause else. Si toutefois il y a un break dans la boucle, il va le terminer et ne pas exécuter la clause else.

Vous pouvez en lire davantage ici: http://book.pythontips.com/en/latest/for_-_else.html