• # Quelques remarques du coup

    Posté par (site web personnel) . En réponse au message Un démineur pour apprendre.... Évalué à 7.

    Je pense qu'avec une classe Case et une liste de liste d'instances de cette classe on aurait un code un peu plus joli. Autant l'unpacking (ex: a, b, c = foobar ) est une fonctionnalité cool de Python, autant là ça ne me semble pas très pertinent ; en effet vous passez votre temps à unpacker des tuples (il faut bien se rappeler de la sémantique de chaque élément du tuple), à avoir des variables inutiles (tous les éléments du tuple ne sont pas utiles à chaque fois), et à reconstruire des tuples (vu qu'ils sont immuables).

    Avec des instances, ce code :

    def tout_connaitre() :
     for ligne in range( hauteur ) :
     for colonne in range( largeur ) :
     (bombe, connu, nbalentours, drapeau) = cases[(ligne, colonne)]
     connu = True
     drapeau = 0
     cases[(ligne, colonne)] = (bombe, connu, nbalentours, drapeau)

    deviendrait par exemple :

    def tout_connaitre():
     for ligne_cases in cases:
     for case in ligne_cases:
     case.connu = True
     case.drapeau = 0

    Hop une f-string pour la route:
    print( "Sur les",nbombes, "bombes, il vous en reste",nbombes-nbdrapeaux, "à trouver.")
    peut s'écrire plus simplement:
    print(f"Sur les {nbombes} bombes, il vous en reste {nbombes - nbdrapeaux} à trouver.")

    Bonne nuit !