Нужно написать скрипт на Python для "склейки" id-карт по правилам

2 000 руб. за проект
28 марта 2023, 18:14 • 7 откликов • 43 просмотра
Есть массив данных:
player_parent_cards = [
{'card_detail_id': 538, "xp": 27, 'level': 3,'uid': 'C10-538-001'},
{'card_detail_id': 538, "xp": 1, 'level': 1,'uid': 'C10-538-002'},
{'card_detail_id': 538, "xp": 1, 'level': 1,'uid': 'C10-538-003'},
{'card_detail_id': 538, "xp": 1, 'level': 1,'uid': 'C10-538-004'},
{'card_detail_id': 538, "xp": 1, 'level': 1,'uid': 'C10-538-005'},
{'card_detail_id': 538, "xp": 1, 'level': 1,'uid': 'C10-538-006'},
{'card_detail_id': 538, "xp": 1, 'level': 1,'uid': 'C10-538-007'},
{'card_detail_id': 522, "xp": 1, 'level': 1,'uid': 'C10-522-001'},
{'card_detail_id': 522, "xp": 9, 'level': 3,'uid': 'C10-522-002'},
{'card_detail_id': 522, "xp": 5, 'level': 2,'uid': 'C10-522-003'},
{'card_detail_id': 522, "xp": 1, 'level': 1,'uid': 'C10-522-004'},
{'card_detail_id': 522, "xp": 1, 'level': 1,'uid': 'C10-522-005'},
{'card_detail_id': 522, "xp": 1, 'level': 1,'uid': 'C10-522-006'},
{'card_detail_id': 522, "xp": 1, 'level': 1,'uid': 'C10-522-007'},]
Таких строк может быть много.

card_details = {
"common": {"id": [538,539,543,544]},
"rare": {"id": [513,519,525,537]},
"epic": {"id": [512,518,]},
"legend": {"id": [511,522,]},
В card_details указываются card_detail_id, которые необходимо обработать, определенные id соответствуют группам (common, rare и т.д.)

combine_rates = {
"common": {"level_quantity": [1, 5, 14, 30, 60, 100, 150, 220, 300, 400]},
"rare": {"level_quantity": [1, 5, 14, 25, 40, 60, 85, 115]},
"epic": {"level_quantity": [1, 4, 10, 20, 32, 46]},
"legend": {"level_quantity": [1, 3, 6, 11]},
}
combine_rates - правила для обьединения карт.

Вывод скрипта должен выглядеть следующим образом (для указанных карт из player_parent_cards):

['C10-538-001','C10-538-002','C10-538-003','C10-538-004']
['C10-522-002','C10-522-001','C10-522-004']
['C10-522-003','C10-522-005']

Отзывы
 
1 год назад
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Фрилансер
 
1 год назад