Partage
  • Partager sur Facebook
  • Partager sur Twitter

swift boucle while

qui ne s'arrête pas.

Sujet résolu
11 mai 2018 à 19:56:47

bonjour , à toutes et tous.

Tous d'abord j' en profite pour me présenter . Jérôme , j'ai 45 ans , passionné d'informatique et de nouvelles technologies je me suis mis le défi d'aprendre à programmer en IOS . La tâche va être longue !

Ce qui m'amène sur le forum ( au passage je ne sais pas si je suis au bon endroit ) c'est que le code ne sort pas de la boucle "while" alors que je vois bien que la condition est remplie. Au passage je sais qu'un ordinateur fait bêtement ce qu'on lui dit ! Donc l'erreur est bien de mon côté. 

Je me doute aussi que le code est plus que perfectible , mais pour le moment ce n'est pas ce que je recherche. ( faire une boucle qui tire 5 fois au hasard serrait moins lourd et je finirais sûrement par la trouver moi même )

Je vous mets donc deux images , la première ou on ne rentre jamais dans les boucle "if" et tous fonctionne . Et la deuxième ou l'on rentre dans une boucle if puis while et là c' est la cata !!

si vous pouviez éclairer ma lanterne . Car là même ma fille qui a un moment m'a dit " mais papa !! While ça s'écrit avec un H" ne peut rien pour moi.

Par avance Merci . 

  • Partager sur Facebook
  • Partager sur Twitter
12 mai 2018 à 0:28:39

Yop.

JeromeJost1 a écrit:

c'est que le code ne sort pas de la boucle "while" alors que je vois bien que la condition est remplie

C'est le comportement attendu pour une boucle while : ça boucle tant que la condition est remplie.

(Et un while imbriqué dans un if avec la même condition, ça rend le if inutile. Le if, c'est comme un while qui ne s'exécute qu'une seule fois.)

  • Partager sur Facebook
  • Partager sur Twitter
12 mai 2018 à 21:08:03

Bonsoir , 

tout d'abord merci pour votre précision sur le if , effectivement il est inutile. lorsque je disait que la condition est remplie , c est de la condition de sortie de boucle . 

si je comprend bien mon petit bout de code 

while B2 == B1 {  

signifie temps que b2 = B1 

hors ca ne sort pas de la boucle quand b2 est différent de b1. 

On a bien b2 = 46 et B1 = 19  , ça devrait sortir de la boucle ?  

Merci , bonne soirée . 

-
Edité par JeromeJost1 12 mai 2018 à 21:08:48

  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2018 à 1:32:08

Précision : je n'ai jamais codé en Swift, je tape dans le vide, là. C'est juste une erreur que j'ai déjà croisée dans d'autres langages, peut-être que ça ne s'applique pas ici.

__

Ligne 37 : var b2 =...

Est-ce que ça ne redéfinit pas la variable localement ? Essaie en supprimant var, peut-être.

-
Edité par Chomp 13 mai 2018 à 1:32:26

  • Partager sur Facebook
  • Partager sur Twitter
13 mai 2018 à 12:10:36

Bonjour , 

Effectivement en supprimant "var" cela fonctionne !

je comprend maintenant mieux la notion d'affecter , "réaffecter" et changer la valeur .

Merci pour votre aide . 

ps : Je passe le sujet en résolu.

  • Partager sur Facebook
  • Partager sur Twitter