gpt4 book ai didi

python - 类型错误 : '>' not supported between instances of 'method' and 'int'

转载 作者:行者123 更新时间:2023-12-04 12:00:54 25 4
gpt4 key购买 nike

我希望有人可以帮助解决这个问题。

我创建了一个类,其中有一个函数可以计算 4 个汽车列表中的汽车总数。

在另一个脚本中,我正在创建界面并想说明“totalCars”的答案是否大于零,然后继续提供一种汽车。

但是,当我这样做时,我收到此错误:TypeError: '>' not supported between instances of 'method' and 'int' .这是代码:

def totalCars(self):
p = len(self.getPetrolCars())
e = len(self.getElectricCars())
d = len(self.getDieselCars())
h = len(self.getHybridCars())
totalCars = int(p) + int(e) + int(d) + int(h)
return totalCars

并且在界面脚本上有:
while self.totalCars > 0:

为了解决这个问题,我尝试使用 bool 值,如下所示:
def totalCars(self):
p = len(self.getPetrolCars())
e = len(self.getElectricCars())
d = len(self.getDieselCars())
h = len(self.getHybridCars())
totalCars = int(p) + int(e) + int(d) + int(h)
if totalCars > 0:
return True

在应用程序脚本上,我有:
 while self.totalCars is True

但这完全使程序崩溃并且根本无法运行。

欢迎任何指导。
非常感谢。

最佳答案

那是因为 self.totalCars是一个方法,您需要通过在末尾添加几个括号来调用它以获取它的返回值,如下所示:

while self.totalCars() > 0:
#Insert the rest here

否则,就像消息所说的那样,您将方法与数字进行比较,这是行不通的。

无需添加 bool 值,但如果您坚持使用一个 bool 值,则可以执行以下操作:
while self.totalCars():    #Will run if self.totalCars() RETURNS True

同样,这在您的原始代码中并没有真正起作用,因为您忘记了括号。

希望这可以帮助。

关于python - 类型错误 : '>' not supported between instances of 'method' and 'int' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52905958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com