我尝试过通过函数调用,但仍然弹出此错误消息。
def mostExpensiveStock(self):
mostexpStock = 0
for r in self.getstockList():
if r.value(r.getamountPur, r.getpricePur) > mostexpStock:
mostexpStock = r.value(r.getamountPur, r.getpricePur)
highest = str(r) + "with a total value of RM" + str('%.2f'%mostexpStock)
return highest发布于 2019-03-31 12:45:38
假设有两种情况:
self.getstockList()为空;self.getstocklist()的所有成员的or
r.value(...)均为负值然后,您的代码将永远不会为highest赋值,因此您尝试使用return highest将导致您看到的异常。
假设您想在本例中返回None。然后,首先为highest提供一个默认值
def mostExpensiveStock(self):
highest = None
mostexpStock = 0
...发布于 2019-03-31 12:46:21
我认为问题出在if代码块有时不会触发。按照您的代码编写方式,如果发生这种情况,您仍然会尝试返回最高值,但是如果没有触发该值的if块,则不会创建该值。
你可以看起来像是要去if else块。
https://stackoverflow.com/questions/55437899
复制相似问题