J'essaie d'envelopper mon cerveau autour de cela et je suis plutôt confiant que ce qui suit provoquera un problème. Vous recherchez une confirmation comme vous pouvez le voir Le Ceci pourrait être plus clair p> sl_c code> est vérifié dans le premier si code> instruction et le code imbriqué> si code> le vérifie contre la deuxième condition sl_ci code>. Lorsque les deux conditions sont remplies, nous modifions une certaine valeur. P> elif code> vérifie sl_c code> que je crois être modifié ci-dessus et pourrait rencontrer / rejeter La condition basée sur la nouvelle valeur? p>
4 Réponses :
L'état Nous pouvons changer votre exemple original un peu pour vous assurer que la condition n'est même jamais évaluée en le changeant. à une fonction d'effets secondaires: p> sortie (sans surprise): p> elif code> n'est jamais évalué, car le premier si code> est touché. elif code> est comme un d'autre: ... si: code>
Remarque: vous pouvez même appeler une fonction non existante et ne lancera pas une erreur car elle n'est jamais évaluée.
Non, la valeur ne sera pas cochée dans C'est le flux de contrôle. Si la condition ne correspondait pas au premier Toutefois, si vous voulez obtenir la condition elif code> une fois qu'il correspond à la condition dans si code> partie. p>
si code>, il vérifiera la condition dans elif code>. Une fois que l'une de ces conditions est vraie et que les programmes entrent dans ce bloc, le reste des conditions ne sera pas vérifié. P>
elif code> cochée également, vous devrez utiliser un autre si code> instruction. P>
NON L'ESSION ELIF ne sera pas coché.As Dès que la condition IF est évaluée comme vraie, la condition ELIF est ignorée. P>
Python ne vérifierait que les conditions "Elif" ou "sinon" que si la condition "si" retourne faux. Si la première condition («si» condition) revient vrai, cela ignorerait les autres conditions. P>
Comme dans toutes les langues si-d'autre est mutuellement exclusif, vous n'exécuterez jamais de code des deux blocs. Si le test passe le bloc
si code> bloquer sera exécuté sinon le blocsinon code> sera exécuté. Vous pouvez jeter un coup d'œil sur quel code d'assemblage ressemble à des instructions IF-else: Stackoverflow.com/a/40602071/1720199Pourquoi n'essayez-vous pas juste votre exemple réduit?