sudoku = [
    [5, 3, 4, 6, 7, 8, 9, 1, 2],
    [6, 7, 2, 1, 9, 5, 3, 4, 8],
    [1, 9, 8, 3, 4, 2, 5, 6, 7],
    [8, 5, 9, 7, 6, 1, 4, 2, 3],
    [4, 2, 6, 8, 5, 3, 7, 9, 1],
    [7, 1, 3, 9, 2, 4, 8, 5, 6],
    [9, 6, 1, 5, 3, 7, 2, 8, 4],
    [2, 8, 7, 4, 1, 9, 6, 3, 5],
    [3, 4, 5, 2, 8, 6, 1, 7, 9]
]

# uit 1_print_sudoku.py
lijn = "-" * 21

def print_sudoku (sudoku):
    print (lijn)
    for rij in sudoku:
        print ("|", end="")
        for element in rij:
            print (f" {element}", end = "")
        print (" |")
    print (lijn)


def spiegel_verticaal (sudoku):
    return sudoku[::-1]


def spiegel_horizontaal (sudoku):
    resultaat = []
    for rij in sudoku:
        resultaat.append(rij[::-1])
    return resultaat

print("Origineel")
print_sudoku(sudoku)
print("Verticaal gespiegeld")
print_sudoku(spiegel_verticaal(sudoku))
print("Horizontaal gespiegeld")
print_sudoku(spiegel_horizontaal(sudoku))

# ----------------------------------------------------------------
# Nog andere transformaties
# ----------------------------------------------------------------
# def spiegel_diagonaal (sudoku):
#    resultaat = []
#    for kolomnummer in range(9):
#        nieuwe_rij = []
#        for rij in sudoku:
#            nieuwe_rij.append(rij[kolomnummer])
 
        # alternatief
        # for rijnummer in range(9):            
        #     nieuwe_rij.append(sudoku[rijnummer][kolomnummer])                

#       resultaat.append(nieuwe_rij)
#    return resultaat
#
# def roteer_90 (sudoku):
#     return spiegel_horizontaal(spiegel_diagonaal(sudoku))
#        
# def hernummer (sudoku):
#     resultaat = []
#     for rij in sudoku:
#         nieuwe_rij = []
#         for element in rij:
#             nieuwe_rij.append(10 - element)
#         resultaat.append(nieuwe_rij)
#     return resultaat
#
# print("Diagonaal gespiegeld")
# print_sudoku(spiegel_diagonaal(sudoku))
# print("90° geroteerd")
# print_sudoku(roteer_90(sudoku))
# print("Hernummerd")
# print_sudoku(hernummer(sudoku))
# ----------------------------------------------------------------
