Домашни > Да върнем левчето обратно! > Решения > Решението на Виктор Бечев

Резултати
6 точки от тестове
0 точки от учител

6 точки общо

10 успешни теста
0 неуспешни теста
Код
Скрий всички коментари

 1from collections import defaultdict
 2
 3
 4def курс_в_лева(непатриотичен_курс):
 5    return {валута: round(1 / курс, 4) for валута, курс in непатриотичен_курс.items()}
 6
 7
 8def валута_към_левчета(*кинти, **курсове):
 9    в_лева = defaultdict(int)
10    курсове["BGN"] = 1.0  # Може и да го сложите в .get, но така крие липсващи валути
11    for валута, единици in кинти:
12        в_лева[валута] += единици / курсове[валута]
13    return list((валута, round(единици, 4)) for валута, единици in в_лева.items())
14
15
16def е_патриотична(кинти, курсове):
17    return (
18        "НЕ"
19        * bool(
20            round(
21                sum(единици for _, единици in валута_към_левчета(*кинти, **курсове))
22                % 1,
23                2,
24            )
25        )
26        + "ПАТРИОТИЧНА!"
27    )

..........
----------------------------------------------------------------------
Ran 10 tests in 0.001s

OK

Дискусия
История
Това решение има само една версия.