-2
votes

Si-elif change de valeur en cours de vérification une fois que la condition est remplie?

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 xxx

comme vous pouvez le voir sl_c est vérifié dans le premier si instruction et le code imbriqué> si le vérifie contre la deuxième condition sl_ci . Lorsque les deux conditions sont remplies, nous modifions une certaine valeur.

Le elif vérifie sl_c que je crois être modifié ci-dessus et pourrait rencontrer / rejeter La condition basée sur la nouvelle valeur?

Ceci pourrait être plus clair xxx


2 commentaires

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 bloquer sera exécuté sinon le bloc sinon sera exécuté. Vous pouvez jeter un coup d'œil sur quel code d'assemblage ressemble à des instructions IF-else: Stackoverflow.com/a/40602071/1720199


Pourquoi n'essayez-vous pas juste votre exemple réduit?


4 Réponses :


0
votes

L'état elif n'est jamais évalué, car le premier si est touché. elif est comme un d'autre: ... si:

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: xxx

sortie (sans surprise): xxx


1 commentaires

Remarque: vous pouvez même appeler une fonction non existante et ne lancera pas une erreur car elle n'est jamais évaluée.



0
votes

Non, la valeur ne sera pas cochée dans elif une fois qu'il correspond à la condition dans si partie.

C'est le flux de contrôle. Si la condition ne correspondait pas au premier si , il vérifiera la condition dans elif . 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é.

Toutefois, si vous voulez obtenir la condition elif cochée également, vous devrez utiliser un autre si instruction.


0 commentaires

0
votes

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.


0 commentaires

0
votes

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.


0 commentaires