Python +;的操作数类型不受支持:';int';和';功能';K

Python +;的操作数类型不受支持:';int';和';功能';K,python,Python,我是个十足的傻瓜。我正在尝试制作一个简单的python程序,在这个程序中我计算某物的价格。在尝试调用函数中的函数时,我不断遇到此错误。请参阅下文: def calculateTotalPrice(p,t): totalPrice = p * (1+t) return totalPrice price = int(input("Enter the Price: ")) def confirmState(): print("What state tax are we us

我是个十足的傻瓜。我正在尝试制作一个简单的python程序,在这个程序中我计算某物的价格。在尝试调用函数中的函数时,我不断遇到此错误。请参阅下文:

def calculateTotalPrice(p,t):
    totalPrice = p * (1+t)
    return totalPrice

price = int(input("Enter the Price: "))

def confirmState():
    print("What state tax are we using? ")
    print("1.\tNY\t%8.75")
    print("2.\tNJ\t6.675")

    print("Enter Selection")
    stateSelection = int("> ")

    if stateSelection == 1:
        return int(0.0875)
    if stateSelection == 2:
        return int(0.0675)

    return -1

calculateTotalPrice(price,confirmState)
这是我在终端中看到的内容

输入价格:1 回溯(最近一次呼叫最后一次): 文件“random_p2.py”,第22行,在 计算总价(价格,确认状态) 文件“random_p2.py”,第2行,calculateTotalPrice中 总价=p*(1+t)
TypeError:+:“int”和“function”的操作数类型不受支持。

您需要在confirm state函数中添加括号以调用它,或将其设置为代码前面的变量。看起来像这样:

calculateTotalPrice(price, confirmState())

您需要在confirm state函数中添加括号来调用它,或者在代码的前面将其设置为变量。看起来像这样:

calculateTotalPrice(price, confirmState())

打印(“输入选择”)
行之后的
int
调用正在计算参数
“>”
,因此将导致转换错误。从我可以告诉你的代码,似乎你想让用户输入一个数字——考虑使用<代码> int(输入(“>”))< /C> >。confirmState函数本身没有被调用,这可能是不需要的。其次,如果您使用
int
并指定了一个浮点数,那么它将返回一个不带浮点数的整数。最后,您的
if
语句不正确-第二个
if
语句应该使用
elif
,除非它们是分开的。@Edric感谢您的帮助!我能够让它按预期的方式工作!谢谢@用户2864740也感谢您的帮助!调用confirmState函数时,我忘记了附加的()!在
打印(“输入选择”)
行之后的
int
调用正在计算参数
“>”
,因此将导致转换错误。从我可以告诉你的代码,似乎你想让用户输入一个数字——考虑使用<代码> int(输入(“>”))< /C> >。confirmState函数本身没有被调用,这可能是不需要的。其次,如果您使用
int
并指定了一个浮点数,那么它将返回一个不带浮点数的整数。最后,您的
if
语句不正确-第二个
if
语句应该使用
elif
,除非它们是分开的。@Edric感谢您的帮助!我能够让它按预期的方式工作!谢谢@用户2864740也感谢您的帮助!调用confirmState函数时,我忘记了附加的()!