import random as rd def create_grid(taille): #la taille doit etre supérieure à 1 grille = [] ligne =[] for case in range(taille): ligne.append(' ') #on crée une ligne contenant le bon nombre de cases for nb_ligne in range (taille): grille.append(ligne.copy()) #permet de découpler les lignes return grille def add_new_tile_at_position(name_grid,ligne,pos_ligne,value): #la position indiqué doit etre cohérente avec les dimensions de la grille considérée name_grid[ligne][pos_ligne]=value #attention, la fonction modifie la liste passée en argument ! return(name_grid) grid=create_grid(4) add_new_tile_at_position(grid,2,1,4) print(grid) def choose_value_new_tile(): value=rd.choice([2,2,2,2,2,2,2,2,2,4]) return(value) def get_all_tiles (name_grid): nb_ligne=len(name_grid) nb_colonne=len(name_grid[0]) #on suppose que la grille a au moins une ligne tiles=[] for ligne in range (nb_ligne): for colonne in range (nb_colonne): tile = name_grid[ligne][colonne] if tile == ' ': tiles.append(0) else : tiles.append(tile) return(tiles) print(get_all_tiles(grid))