Bonjour,
J'essaie, je lutte mais je n'ai personne autour de moi pour m'aider.
voici les précisions :
pour savoir si une cellule est vivante à l'instant n, on compte le nb de cellules vivantes parmi les 8 voisines à l'instant n-1.
A chaque étape n, l'état de chaque cellule ne dépend que de son état et de celui des cellules voisines à l étape n-1.
Si le nb de cellules vivantes voisines est inférieur ou égal à 1 ou supérieur ou égal à 4 alors la cellule est morte à l'instant n, si le nb est égal à 3, alors la cellule est vivante à l'instantn, si le nb est égal à 2, alors la cellule ne change pas d'état par rapport à n-1.
On doit travailler sur un plateau nxn avec n=10. Le plateau est codé par une listes d'entiers à 2 dimensions appelés grille. Les cellules vivantes ont pour valuer 1 et les mortes 0.
Il n'a pas de grille type, juste un exemple.
On nous demande d'abord de coder une fonction creer_geillevide qui donnera une liste et retournera une grille contenant des zéros: j'ai fait ça
def creation_grille_vide(nombreLig nes, nombreColonnes):
grille = [[]] * nombreLignes
for ligne in range(nombreLignes):
grille[ligne] = [0] * nombreColonnes
return grille
Ensuite on demande une fonction affiche grille(grille : list) avec en paramètres une grille et les cellules representées afficheront v lorsqu'elles sont vivantes et - lorsqu'elles sont mortes.
j'ai essayé ça :
def affiche_grille(grille):
morte ='v'
vivante='-'
print(grille)
puis il faudra créer une fonction initialisation aleatoire(grille:list) avec une liste d'entiers qui affecte des valeurs au hasard de 0 et 1 de façon equiprobable
J'ai beaucoup cherché mais je sèche
Merci encore de votre aide précieuse
SBO
-----