我正在学习Python并希望尝试创建一个函数然后调用它。当我运行它时,它按照我想要的方式工作,如果我为" tax"输入少于1的任何东西。变量,但如果我为税变量输入一个大于1的数字,我会得到一个错误,上面写着:
TypeError: 'int' object is not callable
我搜索了谷歌,但仍然不太了解此错误消息的含义或解决方法。非常感谢任何帮助!
tax = input("Enter your local tax rate: ")
if tax < 1:
hourlyWage = input("Enter your hourly wage: ")
hoursWorked = input("Enter number of hours worked in one day: ")
daysWorked = input("Enter number of days worked in one week: ")
print(hourlyWage * hoursWorked * daysWorked * tax)
else:
tax()
def tax():
hourly = input("Enter your hourly wage: ")
workedHours = input("Enter number of hours worked in one day: ")
days = input("Enter number of days worked in one week: ")
weeklyWage = hourly * workedHours * days
newTax = tax / 100 * weeklyWage
newWeeklyWage = weeklyWage - newTax
print(newWeeklyWage)
答案 0 :(得分:1)
tax
不是可调用的(具有__call__
方法的对象)。
因此您无法调用它。
在将其定义为函数之前,tax
是输入返回,因此是字符串。
你不能像调用函数一样调用它(例如)。
正如一些评论所述,您应该在尝试调用之前定义tax()
函数,并且不应将tax
用作其他变量的名称。