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
valerielashvili avatar valerielashvili 35 Точки

И едно по-изчистено решение от мен:

from typing import Tuple


def handle_legendary(leg_item: str, leg_items: dict) -> Tuple[dict, bool, str]:
    leg_names = {'shards': 'Shadowmourne', 'fragments': 'Valanyr', 'motes': 'Dragonwrath'}
    leg_items[leg_item] -= 250
    leg_obt = True
    prnt_result = f"{leg_names[leg_item]} obtained!"

    return leg_items, leg_obt, prnt_result


legendary = {'shards': 0, 'fragments': 0, 'motes': 0}
junk = {}
leg_obtained = False

while not leg_obtained:
    items = input().split()

    for i in range(0, len(items), 2):
        qty, item = int(items[i]), items[i + 1].lower()

        if item in legendary:
            legendary[item] += qty

            if legendary[item] >= 250:
                legendary, leg_obtained, result = handle_legendary(item, legendary)
                print(result)
                break
        else:
            current_qty = junk.get(item, 0)
            junk[item] = current_qty + qty

for l, q in legendary.items():
    print(f"{l}: {q}")

for j, q in junk.items():
    print(f"{j}: {q}")

 

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