def hanoi(n, source, auxiliary, target): if n == 1: print(f"Move disk 1 from {source} to {target}") return # Move n-1 disks from source to auxiliary, so they are out of the way hanoi(n - 1, source, target, auxiliary) # Move the nth disk from source to target print(f"Move disk {n} from {source} to {target}") # Move the n-1 disks that we left on auxiliary to target hanoi(n - 1, auxiliary, source, target) # Example usage: # hanoi(3, 'A', 'B', 'C') if __name__== "__main__": hanoi(3,'A','B','C')