From f1de0509a8b911a41bb2b3b951a6cecf698e8418 Mon Sep 17 00:00:00 2001 From: Benjamin Sigonneau Date: Sat, 21 Mar 2020 22:22:15 +0100 Subject: [PATCH] Create additions with 4-digit numbers instead of 3-digit numbers --- main.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/main.py b/main.py index 879e406..12f1e00 100755 --- a/main.py +++ b/main.py @@ -7,19 +7,21 @@ from reportlab.lib.pagesizes import A4 from reportlab.lib.units import mm, cm def draw_seyes_grid(canvas, x_offset, y_offset): + nb_cols = 5 + nb_lines = 3 # x, y: pdf coordinates canvas.setStrokeColor("lightblue") - xs = [x*8*mm + x_offset for x in range(0,5)] - ys = [x*2*mm + y_offset for x in range(0, 4*3)] + xs = [x*8*mm + x_offset for x in range(0, nb_cols + 1)] + ys = [x*2*mm + y_offset for x in range(0, (nb_lines + 1) * 3)] canvas.grid(xs, ys) canvas.setStrokeColor("purple") - xs = [x*8*mm + x_offset for x in range(0,5)] - ys = [y*8*mm +y_offset for y in range(0,4)] + xs = [x*8*mm + x_offset for x in range(0, nb_cols + 1)] + ys = [y*8*mm +y_offset for y in range(0, nb_lines + 1)] canvas.grid(xs, ys) canvas.setStrokeColor("black") - canvas.line(x_offset + 1*mm, y_offset + 6*mm, x_offset + 31*mm, y_offset + 6*mm) + canvas.line(x_offset + 1*mm, y_offset + 6*mm, x_offset + ((nb_cols * 8) - 1)*mm, y_offset + 6*mm) @@ -33,8 +35,8 @@ def draw_char(canvas, x_origin, y_origin, x, y, mychar): def draw_number(canvas, x_offset, y_offset, num, line): digits = list(str(num)) - pos = [3, 2, 1] - for (digit, column_nb) in zip(reversed(digits), [3,2,1]): + pos = [4, 3, 2, 1] + for (digit, column_nb) in zip(reversed(digits), pos): draw_char(canvas, x_offset, y_offset, column_nb, line, digit) @@ -57,11 +59,11 @@ def main(outfile): c = canvas.Canvas(outfile, pagesize=A4) c.setFont('Helvetica', 22) - for i in range(5): + for i in range(4): for j in range(7): - x = 0.8*cm + i*4*cm + x = 1*cm + i*5*cm y = 26*cm - j*4*cm - draw_addition(c, x, y, randint(1, 999), randint(1, 999)) + draw_addition(c, x, y, randint(1, 9999), randint(1, 9999)) # reportlab: end page + save pdf c.showPage()