尝试使用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'
我的问题是为什么这不起作用。拆分print语句往往可以正常工作。
答案 0 :(得分:0)
value
方法需要一个PuLP变量对象,而不是一个与一个名称相同的字符串。
为了将你的字符串计算回一个python变量,你需要eval
它,所以看起来像。
value(eval('x{0}'.format(i+1)))