input: Write a function to solve the "Tower of Hanoi" game for any given number of disks and rods. The function should print the sequence of moves required to solve the problem. If there is only one disk, it should directly move it to the destination rod. If there are more disks, it should first move the n-1 disks to an auxiliary rod, then move the nth disk to the destination rod, and finally move the n-1 disks from the auxiliary rod to the destination rod.
  def solveTowerOfHanoi(num_disks, start_rod = 'A', end_rod = 'C', aux_rod = 'B'): 
      if num_disks == 1: 
          print("Move disk 1 from rod", start_rod, "to rod", end_rod) 
          return
      solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod) 
      print("Move disk", num_disks, "from rod", start_rod, "to rod", end_rod) 
      solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod) 
  
  # Test cases
  solveTowerOfHanoi(3)
  solveTowerOfHanoi(4)
  solveTowerOfHanoi(1)
  solveTowerOfHanoi(0)
output: def solveTowerOfHanoi(num_disks, start_rod = 'A', end_rod = 'C', aux_rod = 'B'): 
      if num_disks == 1: 
          print("Move disk 1 from rod", start_rod, "to rod", end_rod) 
          return
      solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod) 
      print("Move disk", num_disks, "from rod", start_rod, "to rod", end_rod) 
      solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod)