为什么会出现如下属性错误?
Why does the following attribute error occur?
尝试使用 PuLP 库
在 Python 中执行以下命令时出现以下错误
for i in range(0, items):
print('x{0} = {1}'.format(i+1, value('x{0}'.format(i+1))))
我的代码抛出以下错误
Traceback (most recent call last):
File "C:/Python34/knapsack.py", line 81, in <module>
print('x{0} = {1}'.format(i+1, value('x{0}'.format(i+1))))
File "C:\Python34\lib\site-packages\pulp-1.6.1-py3.4.egg\pulp\pulp.py", line 1990, in value
else: return x.value()
AttributeError: 'str' object has no attribute 'value'
我的问题是为什么这不起作用。拆分打印语句往往可以正常工作。
value
方法需要一个 PuLP 变量对象,而不是一个同名的字符串。
为了将您的字符串评估回 python 变量,您需要 eval
它,这样看起来像。
value(eval('x{0}'.format(i+1)))
尝试使用 PuLP 库
在 Python 中执行以下命令时出现以下错误for i in range(0, items):
print('x{0} = {1}'.format(i+1, value('x{0}'.format(i+1))))
我的代码抛出以下错误
Traceback (most recent call last):
File "C:/Python34/knapsack.py", line 81, in <module>
print('x{0} = {1}'.format(i+1, value('x{0}'.format(i+1))))
File "C:\Python34\lib\site-packages\pulp-1.6.1-py3.4.egg\pulp\pulp.py", line 1990, in value
else: return x.value()
AttributeError: 'str' object has no attribute 'value'
我的问题是为什么这不起作用。拆分打印语句往往可以正常工作。
value
方法需要一个 PuLP 变量对象,而不是一个同名的字符串。
为了将您的字符串评估回 python 变量,您需要 eval
它,这样看起来像。
value(eval('x{0}'.format(i+1)))