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 problem. The initial peg is 'A', the destination peg is 'C', and the auxiliary peg is 'B'. If there is only one disk, it should be moved directly from the start peg to the end peg.
  
  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
  assert solveTowerOfHanoi(1), "Move disk 1 from rod A to rod C"
  assert solveTowerOfHanoi(2), "Move disk 1 from rod A to rod B", "Move disk 2 from rod A to rod C", "Move disk 1 from rod B to rod C"
  assert solveTowerOfHanoi(3), "Move disk 1 from rod A to rod C", "Move disk 2 from rod A to rod B", "Move disk 1 from rod C to rod B", "Move disk 3 from rod A to rod C", "Move disk 1 from rod B to rod A", "Move disk 2 from rod B to rod C", "Move disk 1 from rod A to rod C"
  assert 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)