Python +;的操作数类型不受支持:';int';和';功能';K
我是个十足的傻瓜。我正在尝试制作一个简单的python程序,在这个程序中我计算某物的价格。在尝试调用函数中的函数时,我不断遇到此错误。请参阅下文: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
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函数时,我忘记了附加的()!