print("### Tableaux à plusieurs dimensions") print("### CORRECTION DE https://cgouygou.github.io/1NSI/T02_TypesConstruits/T2.1_Listes/T2.1_Listes2/#219-exercices") def afficher(tab: list, numeros=False): plateau = "" if numeros: plateau = " " for i in range(len(tab[0])): plateau += str(i)+":" plateau += "\n" for i in range(len(tab)): if numeros: plateau += str(i)+": " for j in range(len(tab[i])): plateau += str(tab[i][j]) + ' ' plateau += '\n' print(plateau) def exo1(): print("\n# EXERCICE 1") tab = [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']] tab[1][1] = 'X' tab[2][1] = 'O' tab[2][2] = 'X' tab[0][0] = 'O' afficher(tab) print("# X joue dans la case du milieu à droite, au prochain coup X aura gagné :") tab[1][2] = 'X' afficher(tab) exo1() def exo2(): print("\n# EXERCICE 2") m = [[1, 9, 4], [4, 1, 8], [7, 10, 1]] afficher(m) somme = 0 for i in range(len(m)): for j in range(len(m[i])): somme += m[i][j] print("#La somme est :",somme) exo2() def exo3(): print("\n# EXERCICE 3") laby = [[2, 1, 0, 1, 0, 0, 0, 1], [0, 1, 0, 0, 0, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1, 0], [0, 0, 1, 0, 1, 0, 0, 0], [1, 0, 0, 0, 1, 3, 1, 0]] afficher(laby, True) # 0:1:2:3:4:5:6:7: #0: 2 1 0 1 0 0 0 1 #1: 0 1 0 0 0 1 0 0 #2: 0 1 1 0 1 1 1 0 #3: 0 0 1 0 1 0 0 0 #4: 1 0 0 0 1 3 1 0 print("# Hauteur du labyrinte :", len(laby)) print("# Largeur du labyrinte :", len(laby[0])) chemin = [(1,0), (2,0), (3,0), (3,1), (4,1), (4,2), (4,3), (3,3), (2,3), (1,3), (1,4), (0,4), (0,5), (0,6), (1,6), (1,7), (2,7), (3,7), (3,6), (3,5)] print("# Chemin dans le labyrinte :", chemin) for i in range(len(chemin)): x = chemin[i][0] y = chemin[i][1] laby[x][y] = '*' afficher(laby, True) exo3() def exo4(): print("\n# EXERCICE 4") tab = [list(row) for row in open('input.txt').read().splitlines()] print("#1. Dimensions :", len(tab), "lignes et", len(tab[0]), "colonnes") majuscules = [(i,j) for i in range(len(tab)) for j in range(len(tab[i])) if tab[i][j].isupper()] print("#2. Indices des 2 lettres en majuscule :", majuscules) exo4()