def dessine_tableau(tableau, titres=None): lengths = [] if titres: tableau.insert(0, titres) nb_columns = len(tableau[0]) nb_rows = len(tableau) for i in range(nb_columns): lengths.append(max([len(str(x[i])) for x in tableau])) print('╭', end='') for col in range(nb_columns): print('─'*lengths[col], end='') if not col+1==nb_columns: print('┬', end='') print('╮') if titres: print('│', end='') for col, cell in enumerate(tableau[0]): width = lengths[col] print(f"{cell: <{width}}", end='│') print() print('┝', end='') for col in range(nb_columns): print('━'*lengths[col], end='') if not col+1==nb_columns: print('┿', end='') else: print('┥') starting_row = 1 if titres else 0 for row in tableau[starting_row:]: if row: print('│', end='') for col, cell in enumerate(row): width = lengths[col] print(f"{cell: <{width}}", end='│') print() print('╰', end='') for col in range(nb_columns): print('─'*lengths[col], end='') if not col+1==nb_columns: print('┴', end='') print('╯')