def level_up(leveling_factor, *args, **kwargs): """ Returns a dictionary with number of levels leveled up for each caster, factoring in additional experience (if any). Args: leveling_factor: integer to divide total experience *args: tuples containing name (str) and current experience (int) **kwargs: additional experience for each spellcaster Returns: dictionary of each person's levels gained >>> factor = 10 >>> level_up(factor, ("merlin", 350), ("hermione", 500), merlin = 100, \ hermione = 50) {'merlin': 45, 'hermione': 55} >>> factor = 50 >>> level_up(factor, ("merlin", 350), ("gandalf", 500), ("hermione", 250),\ ("dumbledore", 700), merlin = 100, hermione = 50) {'merlin': 9, 'gandalf': 10, 'hermione': 6, 'dumbledore': 14} >>> factor = 30 >>> level_up(factor, ("harry", 200), ("ron", 150), ("hermione", 250), \ ("neville", 175), harry = 50, neville = 30) {'harry': 8, 'ron': 5, 'hermione': 8, 'neville': 6} """ spellcaster = {k:v for k,v in args} experience = kwargs return {k: (spellcaster.get(k, 0) + experience.get(k, 0)) for k in spellcaster.keys() | experience.keys()} factor = 10print(level_up(factor, ("merlin", 350), ("hermione", 500), merlin = 100, \ hermione = 50))
def level_up(leveling_factor, *args, **kwargs):
"""
Returns a dictionary with number of levels leveled up for each caster,
factoring in additional experience (if any).
Args:
leveling_factor: integer to divide total experience
*args: tuples containing name (str) and current experience (int)
**kwargs: additional experience for each spellcaster
Returns:
dictionary of each person's levels gained
>>> factor = 10
>>> level_up(factor, ("merlin", 350), ("hermione", 500), merlin = 100, \
hermione = 50)
{'merlin': 45, 'hermione': 55}
>>> factor = 50
>>> level_up(factor, ("merlin", 350), ("gandalf", 500), ("hermione", 250),\
("dumbledore", 700), merlin = 100, hermione = 50)
{'merlin': 9, 'gandalf': 10, 'hermione': 6, 'dumbledore': 14}
>>> factor = 30
>>> level_up(factor, ("harry", 200), ("ron", 150), ("hermione", 250), \
("neville", 175), harry = 50, neville = 30)
{'harry': 8, 'ron': 5, 'hermione': 8, 'neville': 6}
"""
spellcaster = {k:v for k,v in args}
experience = kwargs
return {k: (spellcaster.get(k, 0) + experience.get(k, 0)) for k in spellcaster.keys() | experience.keys()}
factor = 10
print(level_up(factor, ("merlin", 350), ("hermione", 500), merlin = 100, \
hermione = 50))
Step by step
Solved in 2 steps with 1 images