你能解释一下这个python代码的含义吗?
for v in m.getVars():
print('%s %g' % (v.varName, v.x))
打印输出
x 3
y 5
'3'和'5'是'(v.varName,vx)的值'我不知道如何打印'x'和'y'以及'%'的其他用途除了找到剩余部分。
答案 0 :(得分:1)
命令
for v in m.getVars():
将模型m中的所有Var对象的列表分配给变量v。
然后,您可以查询列表中各个变量的各种属性。
例如,要获取列表v中第一个变量的变量名称和解决方案值,您将发出以下命令
print v.varName, v.x
您可以键入help(v)以获取Var对象
上所有方法的列表正如其他人所说,%只是占位符 要了解代码的工作原理,请检查模型m
答案 1 :(得分:0)
这是一种在包含许多变量时简化字符串的方法。在python中,如您所见,您在print语句中创建了一个字符串,它反映了变量v.varName和v.x.当在字符串中使用百分号时,它将按顺序与您提供的参数匹配。
每个变量类型都有特定的字母。在你的情况下,你使用" s"和" g"表示字符串和数字。当然,如果要创建字符串(例如本例),数字将变为字符串。
示例:
x = 20
y = "hello"
z = "some guy"
resulting_string = "%s, my name is %s. I am %g years old" % (y, z, x)
print resulting_string
结果将是:
hello, my name is some guy. I am 20 years old
请注意,变量部分中的顺序是正确排序的。