1def курс_в_лева(old_exchange_rates):
2 """Converts foreign currency to bulgarian currency."""
3 return {currency: round(1 / value, 4) for currency, value in old_exchange_rates.items()}
4
5def валута_към_левчета(*args, **kwargs):
6 """Summing the amount of similar currencies and converting by a fixed course"""
7 total_amounts = {}
8 total_amount_to_bg = {}
9 for key,value in args:
10 total_amounts[key] = total_amounts.get(key, 0) + value
11
12 for currency, amount in total_amounts.items():
13 if currency == "BGN":
14 total_amount_to_bg[currency] = round(amount, 4)
15 else:
16 total_amount_to_bg[currency] = round(amount / kwargs[currency], 4)
17
18 return list(total_amount_to_bg.items())
19
20def е_патриотична(amount, exchange_rates):
21 """Checking if the sum after converting to lv is correct and fair one"""
22 total_amounts = {}
23 total_sum_money = 0.0
24 for key, value in amount:
25 total_amounts[key] = total_amounts.get(key, 0) + value
26 for key, value in total_amounts.items():
27 total_sum_money += value / exchange_rates[key]
28
29 res = round(total_sum_money, 2)
30 integer_part = int(res)
31 fractional_part = total_sum_money - integer_part
32
33 return 'НЕПАТРИОТИЧНА!' if fractional_part > 0.00 else 'ПАТРИОТИЧНА!'
......F...
======================================================================
FAIL: test_е_патриотична_стотинки (test.TestЕПатриотична.test_е_патриотична_стотинки)
The total should be evaluated with a precision of 2 digits after the decimal point.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 132, in test_е_патриотична_стотинки
self.assertEqual("ПАТРИОТИЧНА!", патриотична)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'ПАТРИОТИЧНА!' != 'НЕПАТРИОТИЧНА!'
- ПАТРИОТИЧНА!
+ НЕПАТРИОТИЧНА!
? ++
----------------------------------------------------------------------
Ran 10 tests in 0.001s
FAILED (failures=1)
Виктор Бечев
11.03.2026 18:26Отвъд горните коментари - браво, използвал си тернарните изрази, тук-таме някой comprehension, `list(total_amount_to_bg.items())` е хубав подход.
Има още дребни неща, които ще споменем на лекцията след малко, но си имплементирал голям процент от нещата, които сме забелязали из това домашно като липсващи [Python](https://www.youtube.com/watch?v=djKPvXDwXcs) идиоми.
|
11.03.2026 18:23
11.03.2026 18:24