I need to create code where a dictionary is created and I need to set the values for each key. I can do it manually but need to create a loop to do it, to shorten the code. The calculation works as following:
Rank 1 = 2500
Rank 2 = Rank 1 + 7500 (2500 + 5000 ) = 10 000
Rank 3 = Rank 2 + 12500 (7500 + 5000) = 22 500
Rank 4 = Rank 3 + 17500 (12500 + 5000) = 40 000
The dictionary should look like this:
rank 0 = 0
rank 1 = 2500
rank 2 = 10000
rank 3 = 22500
rank 4 = 40000
rank 5 = 62500
rank 6 = 90000
My code to loop:
def affinity(xp):
return xp + 5000
rank_dict = {}
for number in range(0, 31):
rank_dict["rank %s" % number] = 0
rank_dict["rank 1"] = rank_dict.get("rank 0") + 2500
rank_dict["rank 2"] = rank_dict.get("rank 1") + affinity(2500)
rank_dict["rank 3"] = rank_dict.get("rank 2") + affinity(7500)
rank_dict["rank 4"] = rank_dict.get("rank 3") + affinity(12500)
rank_dict["rank 5"] = rank_dict.get("rank 4") + affinity(17500)
rank_dict["rank 6"] = rank_dict.get("rank 5") + affinity(22500)
rank_dict["rank 7"] = rank_dict.get("rank 6") + affinity(27500)
rank_dict["rank 8"] = rank_dict.get("rank 7") + affinity(32500)
rank_dict["rank 9"] = rank_dict.get("rank 8") + affinity(37500)
rank_dict["rank 10"] = rank_dict.get("rank 9") + affinity(42500)
rank_dict["rank 11"] = rank_dict.get("rank 10") + affinity(47500)
rank_dict["rank 12"] = rank_dict.get("rank 11") + affinity(52500)
rank_dict["rank 13"] = rank_dict.get("rank 12") + affinity(57500)
rank_dict["rank 14"] = rank_dict.get("rank 13") + affinity(62500)
rank_dict["rank 15"] = rank_dict.get("rank 14") + affinity(67500)
rank_dict["rank 16"] = rank_dict.get("rank 15") + affinity(72500)
rank_dict["rank 17"] = rank_dict.get("rank 16") + affinity(77500)
rank_dict["rank 18"] = rank_dict.get("rank 17") + affinity(82500)
rank_dict["rank 19"] = rank_dict.get("rank 18") + affinity(87500)
rank_dict["rank 20"] = rank_dict.get("rank 19") + affinity(92500)
rank_dict["rank 21"] = rank_dict.get("rank 20") + affinity(97500)
rank_dict["rank 22"] = rank_dict.get("rank 21") + affinity(102500)
rank_dict["rank 23"] = rank_dict.get("rank 22") + affinity(107500)
rank_dict["rank 24"] = rank_dict.get("rank 23") + affinity(112500)
rank_dict["rank 25"] = rank_dict.get("rank 24") + affinity(117500)
rank_dict["rank 26"] = rank_dict.get("rank 25") + affinity(122500)
rank_dict["rank 27"] = rank_dict.get("rank 26") + affinity(127500)
rank_dict["rank 28"] = rank_dict.get("rank 27") + affinity(132500)
rank_dict["rank 29"] = rank_dict.get("rank 28") + affinity(137500)
rank_dict["rank 30"] = rank_dict.get("rank 29") + affinity(142500)
print(rank_dict)
Have tried this, but not looping properly:
def affinity(xp):
return xp + 5000
rank_dict = {'rank 0': 0, 'rank 1': 2500}
for number in range(2, 31):
rank_dict["rank %s" % number] = 2500
for number in range(2, 31):
rank_dict["rank %s" % number] = rank_dict.get("rank %s" % number) + affinity(5000)
print(rank_dict)