input: Write a function to create an algorithm in Python to solve the "Tower of Hanoi" game for a given number of disks. The function should print the steps required to move the disks from the start rod to the end rod using the auxiliary rod. If the number of disks is 1, it should directly print the move. Otherwise, it should use recursion to solve the problem by first moving the top 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.
  
  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(1) == "Move disk 1 from rod A to rod C"
  assert solveTowerOfHanoi(2) == "Move disk 1 from rod A to rod B\nMove disk 2 from rod A to rod C\nMove disk 1 from rod B to rod C"
  assert solveTowerOfHanoi(3) == "Move disk 1 from rod A to rod C\nMove disk 2 from rod A to rod B\nMove disk 1 from rod C to rod B\nMove disk 3 from rod A to rod C\nMove disk 1 from rod B to rod A\nMove disk 2 from rod B to rod C\nMove disk 1 from rod A to rod C"
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)