code: def weighted_choice(choices):
      
      total = sum(weight for choice, weight in choices)
      rand = random.uniform(0, total)
      most = 0
  
      for choice, weight in choices:
          if most + weight > rand:
              return choice
          most += weight
docs: Provides a weighted version of random.choice
      :param choices: A dictionary of choices, with the choice as the key and weight the value
      :type  choices: list of tuple of (str, int)