1#dict comprehension for flex
2def курс_в_лева(exchange_rates):
3 return {curr: round(1 / exchange_rates[curr], 4) for curr in exchange_rates}
4
5def валута_към_левчета(*args, **kwargs):
6 all = {}
7
8 for curr, value in args:
9 all[curr] = all.get(curr, 0) + value
10
11 result = []
12 for curr in all:
13 all_values = all[curr]
14
15 lev = round(all_values if curr == 'BGN' else all_values / kwargs[curr], 4)
16
17 result.append((curr, lev))
18 return result
19
20def е_патриотична(amount, exchange_rates):
21 leva = 0
22
23 for curr, value in amount:
24 if curr == 'BGN':
25 leva += round(value, 2)
26 else:
27 leva += round(value / exchange_rates[curr], 2)
28
29 return 'ПАТРИОТИЧНА!' if leva == int(leva) else 'НЕПАТРИОТИЧНА!' #ternary operator for flex
..........
----------------------------------------------------------------------
Ran 10 tests in 0.000s
OK
| f | 1 | #dict comprehension for flex | f | 1 | #dict comprehension for flex |
| 2 | def курс_в_лева(exchange_rates): | 2 | def курс_в_лева(exchange_rates): | ||
| 3 | return {curr: round(1 / exchange_rates[curr], 4) for curr in exchange_rates} | 3 | return {curr: round(1 / exchange_rates[curr], 4) for curr in exchange_rates} | ||
| 4 | 4 | ||||
| 5 | def валута_към_левчета(*args, **kwargs): | 5 | def валута_към_левчета(*args, **kwargs): | ||
| 6 | all = {} | 6 | all = {} | ||
| 7 | 7 | ||||
| 8 | for curr, value in args: | 8 | for curr, value in args: | ||
| 9 | all[curr] = all.get(curr, 0) + value | 9 | all[curr] = all.get(curr, 0) + value | ||
| 10 | 10 | ||||
| 11 | result = [] | 11 | result = [] | ||
| 12 | for curr in all: | 12 | for curr in all: | ||
| 13 | all_values = all[curr] | 13 | all_values = all[curr] | ||
| 14 | 14 | ||||
| t | 15 | if curr == 'BGN': | t | 15 | lev = round(all_values if curr == 'BGN' else all_values / kwargs[curr], 4) |
| 16 | lev = round(all_values, 4) | ||||
| 17 | else: | ||||
| 18 | lev = round(all_values / kwargs[curr], 4) | ||||
| 19 | 16 | ||||
| 20 | result.append((curr, lev)) | 17 | result.append((curr, lev)) | ||
| 21 | return result | 18 | return result | ||
| 22 | 19 | ||||
| 23 | def е_патриотична(amount, exchange_rates): | 20 | def е_патриотична(amount, exchange_rates): | ||
| 24 | leva = 0 | 21 | leva = 0 | ||
| 25 | 22 | ||||
| 26 | for curr, value in amount: | 23 | for curr, value in amount: | ||
| 27 | if curr == 'BGN': | 24 | if curr == 'BGN': | ||
| 28 | leva += round(value, 2) | 25 | leva += round(value, 2) | ||
| 29 | else: | 26 | else: | ||
| 30 | leva += round(value / exchange_rates[curr], 2) | 27 | leva += round(value / exchange_rates[curr], 2) | ||
| 31 | 28 | ||||
| 32 | return 'ПАТРИОТИЧНА!' if leva == int(leva) else 'НЕПАТРИОТИЧНА!' #ternary operator for flex | 29 | return 'ПАТРИОТИЧНА!' if leva == int(leva) else 'НЕПАТРИОТИЧНА!' #ternary operator for flex |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||