input: Write a function to solve the "Tower of Hanoi" game for a given number of disks. The function should print the steps required to move all disks from the start rod to the end rod using an auxiliary rod. If the number of disks is 1, directly move it to the end rod. For more than one disk, recursively solve the problem by first moving n-1 disks to the auxiliary rod, then moving the nth disk to the end rod, and finally moving the n-1 disks from the auxiliary rod to the end rod. The function should include an optional parameter for the start rod, end rod, and auxiliary 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) 
    
    
  assert solveTowerOfHanoi(num_disks=1) == None
  assert solveTowerOfHanoi(num_disks=2) == None
  assert solveTowerOfHanoi(num_disks=3) == None
  assert solveTowerOfHanoi(num_disks=4) == None
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)