-
Notifications
You must be signed in to change notification settings - Fork 0
/
24 - money_true_calculation.py
45 lines (30 loc) · 1.42 KB
/
24 - money_true_calculation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
def main():
sum_a = {"rub": 102, "kop": 36}
sum_b = {"rub": 49, "kop": 55}
print(f"Первая сумма = {sum_a['rub']} руб. {sum_a['kop']} коп.")
print(f"Вторая сумма = {sum_b['rub']} руб. {sum_b['kop']} коп.")
result_add = money_add(sum_a, sum_b)
result_sub = money_sub(sum_a, sum_b)
print(f"Результат сложения двух сумм равен = {result_add['rub']} руб. {result_add['kop']} коп.")
print(f"Результат вычитания двух сумм равен = {result_sub['rub']} руб. {result_sub['kop']} коп.")
def money_add(dict_a, dict_b):
res_kop = dict_a["kop"] + dict_b["kop"]
memory = 0
if res_kop >= 100:
memory = 1
res_kop -= 100
res_rub = dict_a["rub"] + dict_b["rub"] + memory
return {"rub": res_rub, "kop": res_kop}
def money_sub(dict_a, dict_b):
minus_flag = 0 # Отражает, нужно ли будет в конце добавить минус перед результатом.
if dict_a["rub"] < dict_b["rub"]:
minus_flag = 1
dict_a, dict_b = dict_b, dict_a
res_kop = dict_a["kop"] - dict_b["kop"]
memory = 0
if res_kop < 0:
memory = 1
res_kop += 100
res_rub = dict_a["rub"] - dict_b["rub"] - memory
return {"rub": res_rub if not minus_flag else -res_rub, "kop": res_kop}
main()