同样的事情一式三份 canvas

Same matter in triplicate in a canvas

c.setFont("Times-Roman", 12)    
c.drawRightString(148,750,"PARTICULARS")
c.drawRightString(148,475,"PARTICULARS")
c.drawRightString(148,200,"PARTICULARS")

有没有办法缩短这段代码来达到相同的结果? (Python Reportlab pdf canvas)

c.setFont("Times-Roman", 12)
for y_val in [750, 475, 200]:
    c.drawRightString(148,y_val,"PARTICULARS")

这是一个一般原则:将流程的固定部分放入一小块语句中。将可变部分放入某种序列,然后遍历该序列。

您可以使用循环。

c.setFont("Times-Roman", 12);
for y in range(750, 199, -275):
    c.drawRightString(148, y, "PARTICULARS")