```python= def create_fleissner_grid(dimensions, forbidden_positions): grid = [[' ' for _ in range(dimensions)] for _ in range(dimensions)] for i in range(dimensions): for j in range(dimensions): if (i, j) not in forbidden_positions: grid[i][j] = '#' return grid def rotate_clockwise(grid): return list(zip(*grid[::-1])) def rotate_counterclockwise(grid): return list(zip(*grid))[::-1] def encrypt_message(message, grid, rotation_direction): encrypted_message = '' dimensions = len(grid) for char in message: for i in range(dimensions): for j in range(dimensions): if grid[i][j] == '#': encrypted_message += message[(i + j) % len(message)] if rotation_direction == 'clockwise': grid = rotate_clockwise(grid) elif rotation_direction == 'counterclockwise': grid = rotate_counterclockwise(grid) return encrypted_message # Exemple d'utilisation message = "HELLO" grid_dimensions = 5 forbidden_positions = [(1, 1), (2, 2)] # Exemple de positions interdites rotation_direction = 'clockwise' grid = create_fleissner_grid(grid_dimensions, forbidden_positions) encrypted_message = encrypt_message(message, grid, rotation_direction) print("Message encrypté:", encrypted_message) ### def print_grid(grid): for row in grid: print(' '.join(row)) def encrypt_message(message, grid, rotation_direction): encrypted_message = '' dimensions = len(grid) for char in message: print_grid(grid) # Affichage de la grille avant chaque rotation for i in range(dimensions): for j in range(dimensions): if grid[i][j] == '#': encrypted_message += message[(i + j) % len(message)] if rotation_direction == 'clockwise': grid = rotate_clockwise(grid) elif rotation_direction == 'counterclockwise': grid = rotate_counterclockwise(grid) return encrypted_message # Exemple d'utilisation message = "HELLO" grid_dimensions = 5 forbidden_positions = [(1, 1), (2, 2)] # Exemple de positions interdites rotation_direction = 'clockwise' grid = create_fleissner_grid(grid_dimensions, forbidden_positions) print("Grille initiale:") print_grid(grid) encrypted_message = encrypt_message(message, grid, rotation_direction) print("\nMessage encrypté:", encrypted_message) ```