尝试调用tax()时出错TypeError:' int'对象不可调用

时间:2017-11-19 22:17:59

标签: python function

我正在学习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)

1 个答案:

答案 0 :(得分:1)

tax不是可调用的(具有__call__方法的对象)。

因此您无法调用它。

在将其定义为函数之前,tax是输入返回,因此是字符串。

你不能像调用函数一样调用它(例如)。

正如一些评论所述,您应该在尝试调用之前定义tax()函数,并且不应将tax用作其他变量的名称。