【发布时间】:2022-01-07 15:27:50
【问题描述】:
所以我正在使用预算计算器,我遇到了一个错误,我无法添加费用
这是错误:
Traceback (most recent call last):
File "/home/jason/Documents/budgetcalc/./budgetcalc.py", line 50, in <module>
totexpenses = exp.expenses(args.expenses)
TypeError: 'int' object is not callable
用于计算的代码:
class Expenses(Budgeter):
def __init__(self):
super().__init__()
def expenses(self, expense_list):
self.expenses = expense_list
total = sum(self.expenses)
return total
# instance
exp = Expenses()
定义的参数:
parser.add_argument('--expenses', help='n amounts of expenses', nargs='*', type=int)
这是该参数的代码:
if args.expenses:
totexpenses = exp.expenses(args.expenses)
# print(f'${income} net income')
print(f'${totexpenses} in expenses')
如果需要,这里是完整的代码:
#!/usr/bin/env python
import argparse
import sys
class Budgeter:
def __init__(self):
self.wage = 0
self.netincome = 0
self.expenses = 0
self.hours = 0
class Income(Budgeter):
def __init__(self):
super().__init__()
def income(self, wage, hours):
self.wage = wage
self.hours = hours
self.netincome = (float(self.wage) * int(self.hours)) * 4.34
return self.netincome
class Expenses(Budgeter):
def __init__(self):
super().__init__()
def expenses(self, expense_list):
self.expenses = expense_list
total = sum(self.expenses)
return total
parser = argparse.ArgumentParser()
parser.add_argument('--wage', help='enter a wage ($$/hr)')
parser.add_argument('--hours', help='hours per week')
parser.add_argument('--expenses', help='n amounts of expenses', nargs='*', type=int)
parser.add_argument('--interactive', help='get a prompt for easy use', action='store_true')
args = parser.parse_args()
pc_budgeter = Budgeter()
rawinc = Income()
exp = Expenses()
if args.wage and args.hours:
if int(args.hours) <= 24:
income = rawinc.income(args.wage, args.hours)
if args.expenses:
totexpenses = exp.expenses(args.expenses)
print(f'${income} net income')
print(f'${totexpenses} expenses')
else:
print('missing --expenses')
else:
print(f'there are only 24 hours in a day not {args.hours}')
else:
parser.print_help()
【问题讨论】:
-
请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。