Loading...
+ Нов въпрос
vasetousa avatar vasetousa 0 Точки

Legendary Farming

Здравейте,

мъчих се 3 дни с тази задача преди да гледам лекцията с упражненията. Решението работи според мен, но джъдж дава само 60/100. БИх искал някой да даде насоки, защо би давало грешки? Опитвах най различни входове, всичко според мен работи.

благодаря предварително.

 

https://judge.softuni.bg/Contests/Compete/Index/1737#2

https://softuni.bg/trainings/resources/officedocument/56583/dictionaries-exercise-python-fundamentals-january-2021/3204

код:

https://pastebin.com/JevDD3x6

Тагове:
0
Python Fundamentals
ankamar56 avatar ankamar56 8 Точки
legend_items = {'shards': 'Shadowmourne', 'fragments': 'Valanyr', 'motes': 'Dragonwrath'}
key_mat = {'shards': 0, 'fragments': 0, 'motes': 0}
junk_mat = {}
mat_vid = ''
mat_qty = 0
text = ''
text_list = []
min_key_mat = 250
leg_item_found = False
while 1:
    text = input()
    text_list = text.split()
    for i in range(0, len(text_list), 2):
        mat_qty = int(text_list[i])
        mat_vid = text_list[i+1].lower()
        if mat_vid in key_mat:
            key_mat[mat_vid] = key_mat.get(mat_vid, '') + mat_qty
            if key_mat[mat_vid] >= min_key_mat:
                leg_item_found = True
                key_mat[mat_vid] = key_mat.get(mat_vid, ' ') - min_key_mat
                result = legend_items.get(mat_vid, '')
                print(f"{result} obtained!")
                break
        else:
            if mat_vid in junk_mat:
                junk_mat[mat_vid] = junk_mat.get(mat_vid, '') + mat_qty
            else:
                junk_mat[mat_vid] = mat_qty
    if leg_item_found:
        break
#
sorted_m = sorted(key_mat.items(), key=lambda k: (-k[1], k[0]))
for key, val in sorted_m:
    print(f"{key}: {val}")
#
for key in sorted(junk_mat):
    print(f"{key}: {junk_mat.get(key, '')}")
0
ankamar56 avatar ankamar56 8 Точки

работещо решение, одобрено от Judge. !

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.