Boucle correcte ?

Résolu/Fermé
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - 13 juin 2014 à 16:19
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - 13 juin 2014 à 17:02
Bonjour !
Je voulais tout simplement savoir si cette boucle était correcte d'un point de vue synthaxe.
    while True:
        PieceCoordX, PieceCoordY = randrange(24), randrange(24) #Création d'une pièce
        PieceCoordX, PieceCoordY = (PieceCoordX*10)+5, (PieceCoordY*10)+5 #Modification des coordonées pour ajouter la pièce sur la grille
        if SnakeHeadCoordX != PieceCoordX and SnakeHeadCoordY != PieceCoordY: #Si la pièce n'a pas été créé sur la tête du serpent
            break
        else:
            continue

Le code fonctionne très bien mais je voulais savoir si il n'est pas mieux de définir une variable pour sortir de la boucle ?

Merci pour vos réponses !

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 13/06/2014 à 16:43
'lut, niveau syntaxe ça va. Le
continue
(et donc son
else
) peut éventuellement être retiré vu qu'il est à la fin de la boucle et que rien ne lui succède, mais c'est juste de la redondance, rien de bien grave.
"si il n'est pas mieux de définir une variable pour sortir de la boucle", si tu veux, mais ça fera une variable en plus, qu'il faudra définir avant...
Sinon, je trouve que
SnakeHeadCoordX != PieceCoordX
ça fait très Yoda statement: "Si en abscisse la tête du serpent n'est pas sur la pièce"... J'aurais dit dans l'autre sens, sachant que dans ce contexte la position de la tête est constante, et que par convention on met plutôt
if variable == CONSTANTE:
et pas l'inverse.
PS: on dit "syntaxe", pas "synthaxe"
from human import idiocy
del idiocy
1
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 24
13 juin 2014 à 17:02
Merci beaucoup pour les conseils !
0