`
maincoolbo
  • 浏览: 528353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python生成PDF文件20以内加减法,给上小学的宝宝

阅读更多
# -*- coding: utf-8 -*-
import random
from reportlab import platypus
from reportlab.lib.units import inch 
from reportlab.lib.pagesizes import A4, landscape #最后生成横向打印的PDF
from reportlab.lib import colors


def genList():
    ret = set()

    while True:
        a = random.randint(1, 20)
        b = random.randint(1, 20)
        c = random.randint(1, 20)
        if a + b + c <= 20 and (a > 10 or b > 10 or c > 10):
            ret.add( '%-2d + %-2d + %-2d =' % (a, b, c) )
        if len(ret) == 25: break

    while True:
        a = random.randint(1, 20)
        b = random.randint(1, 20)
        c = random.randint(1, 20)
        if a + b <= 20 and a + b - c >= 0 and (a > 10 or b > 10 or c > 10):
            ret.add( '%-2d + %-2d - %-2d =' % (a, b, c) )
        if len(ret) == 50: break

    while True:
        a = random.randint(1, 20)
        b = random.randint(1, 20)
        c = random.randint(1, 20)
        if a - b >= 0 and a - b + c <= 20 and (a > 10 or b > 10 or c > 10):
            ret.add( '%-2d - %-2d + %-2d =' % (a, b, c) )
        if len(ret) == 75: break

    while True:
        a = random.randint(11, 20)
        b = random.randint(1, 20)
        c = random.randint(1, 20)
        if a - b - c >= 0 and (a > 10 or b > 10 or c > 10):
            ret.add( '%-2d - %-2d - %-2d =' % (a, b, c) )
        if len(ret) == 100: break

    ret = list(ret)
    random.shuffle(ret)
    return ret

'''for i in genList():
    print i'''

def genTable():
    data = []
    items = genList()
    for i in range(0, len(items), 5):
        data.append(items[i:i+5])
    # Courier 是 reportlab 缺省定义的等宽字体
    # (0,0)/(-1,-1)说的是style运用范围,从左上到右下
    tablestyle = [('FONT', (0,0), (-1,-1), 'Courier', 12),
                  ('LINEAFTER', (0,0), (-2,-1), 1, colors.black)]
    return platypus.Table(data, 2.2*inch, 0.35*inch, tablestyle)

import sys
try:
    n = int(sys.argv[1]) #恩恩,生成一个多页的PDF
except:
    n = 1
try:
    fname = sys.argv[2]
except:
    fname = '20plus100.pdf'

doc = platypus.SimpleDocTemplate(fname, topMargin=0.5*inch, bottomMargin=0.5*inch, title='DaDa Math', author='qyb')

elements = []
for i in range(n):
    elements.append(genTable())
    elements.append(platypus.flowables.PageBreak())

doc.pagesize = landscape(A4)
doc.build(elements)






  这个 功能需要用到python  的reportlab  包,,请下载安装
分享到:
评论

相关推荐

    小学生20以内加减法随机生成

    这是基于python写的一个小的程序,是20以内的加减法随机生成100道,看似简单,但通过少于20行代码的形式写出来却要在结构上下功夫。

    Python练手小项目——随机加减法生成器

    为了让外甥女练习算术,用python给她写了个自动出加减法的小程序。 该程序使用了文字转语音的库pyttsx,程序运行时,会有相对应的语音提示。pyttsx文档 为了防止小孩乱按键盘,导致非法输入,我添加了异常处理: def ...

    python 生成pdf的report

    本主题将深入探讨如何使用Python库来创建PDF文件,以满足各种报告生成的需求。 1. **PyPDF2**: PyPDF2是Python中一个用于处理PDF文件的基础库,它提供了读取、合并、分割PDF文件的能力,但不支持生成新的PDF。如果...

    python实现随机加减法生成器

    ### Python 实现随机加减法生成器 #### 一、项目背景与意义 在教育领域,尤其是基础数学教育中,让孩子们通过不断的练习来掌握基本的加减法运算能力是非常重要的。传统的方法往往是通过手工编写题目,这不仅耗时耗...

    使用python给PDF添加目录

    使用python给PDF添加目录

    【python生成爱心输出到文件】python生成爱心输出到文件

    pythonpython生成爱心输出到文件python生成爱心输出到文件python生成爱心输出到文件python生成爱心输出到文件python生成爱心输出到文件python生成爱心输出到文件python生成爱心输出到文件python生成爱心输出到文件...

    Python 混合加减法出题程序 Python源码

    Python 混合加减法出题程序 Python源码Python 混合加减法出题程序 Python源码Python 混合加减法出题程序 Python源码Python 混合加减法出题程序 Python源码Python 混合加减法出题程序 Python源码Python 混合加减法...

    Python实现PDF图片文件压缩

    Python是一种强大的编程语言,尤其适合处理数据和自动化任务,其中包括对PDF文件的处理。在这个场景中,我们将讨论如何使用Python来实现PDF图片文件的压缩。首先,我们需要理解PDF文件的结构,它可能包含文本、图像...

    巧用Python实现PDF文件转成Word(docx)文件(源码,只需修改文件名和路径即可)

    巧用Python实现PDF文件转成Word(docx)文件 巧用Python实现PDF文件转成Word(docx)文件 巧用Python实现PDF文件转成Word(docx)文件 巧用Python实现PDF文件转成Word(docx)文件 巧用Python实现PDF文件转成Word...

    Python后台静默打印PDF文件附属执行程序

    本资源提供的"Python后台静默打印PDF文件附属执行程序"正是针对这一需求的解决方案,包含两个关键组件:Ghostscript和Gsprint。 **Ghostscript** 是一个开源的软件,它能够解析和处理PostScript以及PDF文件。它的...

    用Python生成词云图.pdf

    在本文中,我们将深入探讨如何使用Python编程语言制作词云图。词云图是一种视觉表示,它通过字体大小的差异来展示文本中词汇的出现频率。一般来说,出现频率越高的词汇,其在词云中的字体就越大。制作词云图是一个...

    Python实现给PDF加骑缝章效果源代码

    本文将详细介绍如何使用Python来实现给PDF文件添加骑缝章效果。骑缝章通常用于合同或正式文档,以确保文件的完整性和不可篡改性。在Python 3.0环境下,我们可以利用各种库来实现这一功能。 首先,我们要使用的库是`...

    Python实现html转换为pdf报告(生成pdf报告)功能示例

    在上述代码中,`canvas.Canvas`创建了一个PDF画布,`drawString`方法用于在画布上绘制文本,最后`save`方法保存PDF文件。 `reportlab`还提供了更复杂的构造,如表格、图像、形状等,你可以根据需要创建复杂的PDF...

    python调用打印机打印pdf文件第三方包

    在处理PDF文件时,Python提供了多种方法来实现这一功能,其中一个常见的方式是利用第三方库。在这个场景中,我们关注的是如何使用Python的pywin32库以及可能涉及的其他辅助工具来打印PDF文件。 `pywin32`是Python的...

    Python将txt文件转成pdf文件

    在Python编程环境中,将文本文件(如txt)转换为PDF文档是一种常见的需求,这在报告生成、电子书制作或数据报告展示等方面非常有用。要实现这个功能,我们可以使用一些库,比如` ReportLab `和` PyPDF2 `,或者第三...

    python打包生成so文件的实现

    python3 安装:cython pip3 install cython -i http://mirrors.aliyun.com/pypi/simple/ pip国内的一些镜像   阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 ...

    巧用Python批量实现PDF文件转换为Word文件(源码,图片也可以转哦!只需修改文件名和路径即可)

    巧用Python批量实现PDF文件转换为Word文件(源码,图片也可以转哦!只需修改文件名和路径即可) 巧用Python批量实现PDF文件转换为Word文件(源码,图片也可以转哦!只需修改文件名和路径即可) 巧用Python批量实现...

    Python自动生成DBC文件程序

    本项目"Python自动生成DBC文件程序"旨在通过Python脚本来简化DBC文件的创建过程。传统的DBC创建可能需要手动编辑文本文件或使用专用软件,而这个脚本则提供了一种高效的方法,从Excel文件中直接提取CAN属性信息并...

    PDF转PPT工具python

    `PyPDF2`是一个用于处理PDF文件的纯Python库,它可以读取PDF文件并提取其中的页面、文本和元数据。而`python-pptx`则用于创建、修改和操作PowerPoint `.pptx`文件,提供了对幻灯片、文本框、图像等元素的精细控制。 ...

    Python实现抓取HTML网页并以PDF文件形式保存的方法

    1. **PyPDF2模块**:PyPDF2是一个用于处理PDF文件的Python库,它可以读取PDF文件并进行各种操作,如合并、分割、提取页面等。在本文中,虽然我们并不直接使用PyPDF2来生成PDF,但它的功能强大,对于需要处理PDF的...

Global site tag (gtag.js) - Google Analytics