Boucle correcte ?

Résolu
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   -  
MickaToast Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   -
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 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'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   Statut Membre Dernière intervention   24
 
Merci beaucoup pour les conseils !
0