Помогите исправить функцию для проверки банкнот

Dmitriy2204

Новичок
Пользователь
Дек 16, 2021
2
0
1
Код:
def check_balance_ATM (operation):
     user = 'admin'
     user_file = user + "_balance.json"
     with open (user_file, "r") as f:
         admin_balance = json.load (f)
     all_money = (sum (int (bancknote) * value for bancknote, value in admin_balance.items ()))
     if operation == "check balance ATM":
         print (f'Total at ATM: {all_money} UAH ',' \ n ')
         print ('The ATM is:')
         for bancknote, value in admin_balance.items ():
             print (f "Banknote {bancknote} UAH - {value} pcs.")
         add_transaction (user, operation, all_money)
     return all_money
Смотрите, я хочу вывести 1100 грн,сначала я с помощью этой функции обращаюсь для проверки такой суммы . У меня есть файл Json с данными {"1000": 0, "500": 2, "200": 7, "100": 0, "50": 1, "20": 0, "10": 3} ,когда запускаю функцию пишет ошибку,если изменяю "500": 2 на "500": 1 пишет 500,200.200,200.Помогите!(
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 650
472
83
код не работает, отступов нет
как задать вопрос
 

Dmitriy2204

Новичок
Пользователь
Дек 16, 2021
2
0
1
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 650
472
83
а что должно вывести?
судя по этому {"1000": 0, "500": 2, "200": 7, "100": 0, "50": 1, "20": 0, "10": 3} тут нет 1100...
когда запускаю функцию пишет ошибку
какую ошибку?

у меня работает...
Python:
import json

def check_balance_ATM(operation):
    user = 'admin'
    user_file = user + "_balance.json"
    with open(user_file, "r") as f:
        admin_balance = json.load(f)
    all_money = (sum(int(bancknote) * value for bancknote, value in admin_balance.items()))
    if operation == "check balance ATM":
        print(f'Total at ATM: {all_money} UAH ', ' \ n ')
        print('The ATM is:')
        for bancknote, value in admin_balance.items():
            print(f"Banknote {bancknote} UAH - {value} pcs.")
            # add_transaction(user, operation, all_money)
        return all_money

check_balance_ATM("check balance ATM")
вывод
Код:
Total at ATM: 2480 UAH   \ n
The ATM is:
Banknote 1000 UAH - 0 pcs.
Banknote 500 UAH - 2 pcs.
Banknote 200 UAH - 7 pcs.
Banknote 100 UAH - 0 pcs.
Banknote 50 UAH - 1 pcs.
Banknote 20 UAH - 0 pcs.
Banknote 10 UAH - 3 pcs.
 

Форум IT Специалистов