0
In trying to create a simple budgeting tool for practice, I cannot access my bill_list dictionary sum.
Variable "total_monthly_bills" stays at 0.00 no matter what I do. Code is below. This is just a snippet of my code where I believe the issue is. total_monthly_bills is defined at module level. https://code.sololearn.com/cAXPDWf716v7/?ref=app
8 ответов
+ 2
Check your report function. Where you want to print <total_monthly_bills> you are printing instead <bill_account_balance>.
+ 6
I found an issue in a variable name.
- in function change_bill_list in the last line you calculate the sum of all bills and store it to total_monthly_bills. But this variable is never used. Instead of this, you use bill_account_balance, which has a value of 0 in report function. change the last line in report function, and this issue should be fixed.
def change_bill_list():
global total_monthly_bills
global bill_list
bill_name = input("Enter the name of this bill:\n\n")
bill_cost = float(input("How much is this bill, monthly?\n\n"))
bill_list[bill_name] = bill_cost
total_monthly_bills = sum(bill_list.values())
def report():
print("\nYour total monthly income is: " + str(total_monthly_income))
print("Your weekly bill allowance is: " + str(weekly_bill_allowance))
print("Your totally monthly bills come to: " + str(total_monthly_bills))
#print("Your totally monthly bills come to: " + str(bill_account_balance))
+ 2
Post edited with link to code
+ 2
Thank you! That was the problem. bill_account_balance is a variable that I am going to implement but haven't yet..I must have mismatched it with total_monthly_bills
+ 1
Thank you for your understanding 👍
I will look into it, but even if I can't respond immediately, I'm pretty sure someone will. Quite a lot of people here are good with Python.
0
Did you call `change_bill_list`? this seems to work ...
total_monthly_bills = 0
bill_list = {}
def change_bill_list():
global total_monthly_bills # assumed float
global bill_list # assumed dictionary
bill_name = input("Enter the name of this bill:")
bill_cost = float(input("How much is this bill, monthly?"))
bill_list[bill_name] = bill_cost
total_monthly_bills = sum(bill_list.values())
change_bill_list() # call change_bill_list
print(total_monthly_bills, bill_list)
0
Still not working...I run my program, input the bill name and amounts, and run the report function, and total_monthly_bills still come out to 0.0. I did make sure to call the functions. I would post entire module here but I don't have enough room. Here is that function again:
def change_bill_list():
global total_monthly_bills
global bill_list
bill_name = input("Enter the name of this bill:\n\n")
bill_cost = float(input("How much is this bill, monthly?\n\n"))
bill_list[bill_name] = bill_cost
total_monthly_bills = sum(bill_list.values())
here is my report function:
def report():
print("\nYour total monthly income is: " + str(total_monthly_income))
print("Your weekly bill allowance is: " + str(weekly_bill_allowance))
print("Your totally monthly bills come to: " + str(bill_account_balance))
0
You can save your code in SoloLearn, then share the saved code link instead of posting it in raw text format. Here's how you can do that 👇
https://www.sololearn.com/post/75089/?ref=app