python добавляет отрицательный знак в результат вычисления

Во-первых, я предупрежу вас, я новичок в этом, поэтому, пожалуйста, несите меня. Я создал следующую программу (для класса, конечно), и все работает, за исключением того, что расчет вывода высчитывает отрицательное число, когда значение не должно быть отрицательным. Можете ли вы, ребята, понять, что я делаю неправильно?

заранее спасибо

#define the main def main(): name=input('Enter the customer\'s name: ') account_id=input('Enter the account ID: ') code=input('Enter the transaction code:') previous_balance=float(input('Enter the previous balance: ')) transaction_amount=float(input('Enter the transaction amount: ')) if code == "w" or code == "W": process_withdrawal (transaction_amount, previous_balance) else: if code == "d" or code == "D": process_deposit (transaction_amount, previous_balance) else: process_invalid_transaction_code (previous_balance) #define process withdrawal def process_withdrawal (previous_balance, transaction_amount): if previous_balance >= transaction_amount: print('You have entered an invalid transaction amount') balance=previous_balance print_balance (balance) else: balance=previous_balance-transaction_amount print_balance (balance) #define process deposit def process_deposit (previous_balance, transaction_amount): balance=previous_balance+transaction_amount print_balance (balance) #define invalid transaction code def process_invalid_transaction_code (previous_balance): print('You have entered an invalid transaction code.') balance=previous_balance print_balance (balance) #define print balance def print_balance(balance): print('Your current balance is :', format(balance, '.2f')) main() 

Ваш вызов process_withdrawal имеет первый аргумент как transaction_amount а второй – как previous_balance , но объявление функции имеет previous_balance как первый аргумент, а transaction_amount – второй.

Попробуй это:

 if code == "w" or code == "W": process_withdrawal(previous_balance, transaction_amount) 

Вы передаете аргументы назад.

process_withdrawal (transaction_amount, previous_balance)

а также

def process_withdrawal (previous_balance, transaction_amount):

Я думаю, что ваше заявление if в process withdrawl

 if previous_balance < transaction_amount: