input: Write a function to solve the "Tower of Hanoi" game for a given number of disks using recursion. The function should print the moves required to solve the game. If the number of disks is 1, it should directly move the disk from the start rod to the end rod. For more disks, it should move n-1 disks to the auxiliary rod, then move the nth disk to the end rod, and finally move the n-1 disks from the auxiliary rod to the end 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
  num_disks = 4
  solveTowerOfHanoi(num_disks)
  
  num_disks = 1
  solveTowerOfHanoi(num_disks)
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)