首页 > 解决方案 > 赋值前引用的局部变量“最高”

问题描述

我尝试通过该函数调用,但仍然弹出此错误消息。

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

标签: pythonpython-3.x

解决方案


假设:

  • self.getstockList()是空的; 或者
  • r.value(...)对所有成员都是负数self.getstocklist()

然后,您的代码将永远不会分配任何值highest,因此您的尝试return highest将导致您看到的异常。

假设您想None在这种情况下返回。然后首先为highest

def mostExpensiveStock(self):
    highest = None
    mostexpStock = 0
    ...

推荐阅读