我正在处理动态时间表。我的第一个问题是我想确保可以在reportlab中的不同变量处打印字符串,但是我的循环无法正常工作。它在第一个位置打印字符串,但在随后的位置不打印。
我尝试打印高度的变量,然后逐步增加它,这样可以正常工作,并且包含x坐标的变量也很好。所以我知道循环正在循环。
function getMax(r, g, b, colour) {
let max = -Infinity,
colcheck = false,
map = { r, g, b }
for (const [k, value] of Object.entries(map)) {
if(value === max)
colcheck = false;
else if (value > max) {
max = value; // update max value
colcheck = colour === k;
}
}
console.log(max, colcheck)
}
getMax(3, 2, 1, 'r') // unique max and same as colour
getMax(3, 3, 1, 'r') // max same as colour but not unique
getMax(3, 2, 1, 'g') // unique max but not same as colour
实际结果是,它在坐标42,600处打印了一个“测试字符串”
我希望这列有10个版本的列
答案 0 :(得分:0)
在打印ROW_VAR
之前,您已将TEST_STRING
设置为600。您运行的每个循环都会将ROW_VAR
重置为600。
您应该在for循环外定义一次ROW_VAR
,以便可以在循环中对其进行更新。
类似的事情应该起作用
ROW_VAR = 600
for i in range (1,11):
c.drawString(COLUMN1,ROW_VAR,"TEST STRING")
ROW_VAR = ROW_VAR + i * 20
i +1
print(i)
print (ROW_VAR)