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

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

6 точки общо

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

 1exchange_rates = {"EUR": 1.9558, "USD": 1.6718, "DKK": 0.2616}
 2
 3def курс_в_лева(exchange_rates):
 4    new_exchange_rates = {}
 5    for valuta in exchange_rates:
 6        new_exchange_rates[valuta] = round((1/exchange_rates[valuta]),4)
 7    return new_exchange_rates
 8
 9print(курс_в_лева(exchange_rates))
10
11def валута_към_левчета(*args, **kargs):
12    sums={}
13    for val,ammount in args:
14        if val in sums:
15            sum = sums[val] + ammount
16            sums[val]=sum
17        else:
18            sums[val]=ammount
19    res={}
20    for val in sums:
21        if val=="BGN":
22            res[val] = round(sums[val],4)
23        else:
24            res[val] = round(sums[val]*(1/kargs[val]),4)
25    return res
26
27print(валута_към_левчета(
28    ("EUR", 1.5),
29    ("USD", 10),
30    ("DKK", 10),
31    ("EUR", 2.5),
32    EUR=0.5,
33    USD=0.8,
34    DKK=7,
35))
36
37def е_патриотична(amount, exchange_rates):
38    res = валута_към_левчета(*amount, **exchange_rates)
39    sum = 0
40    for k in res:
41        sum += res[k]
42    sum = round(sum,2)
43    if sum % 1 == 0:
44        return "ПАТРИОТИЧНА!"
45    else:
46        return "НЕПАТРИОТИЧНА!"
47
48exchange_rates = {"EUR": 0.5, "USD": 0.6, "DKK": 3.8}
49amount = [("EUR", 1), ("USD", 3), ("DKK", 7.6), ("EUR", 3)]
50print(е_патриотична(amount, exchange_rates))
51
52amount = [("EUR", 1), ("USD", 2), ("DKK", 7.6), ("EUR", 3)]
53print(е_патриотична(amount, exchange_rates))

{'EUR': 0.5113, 'USD': 0.5982, 'DKK': 3.8226}
{'EUR': 8.0, 'USD': 12.5, 'DKK': 1.4286}
ПАТРИОТИЧНА!
НЕПАТРИОТИЧНА!
..........
----------------------------------------------------------------------
Ran 10 tests in 0.000s

OK

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