`
maincoolbo
  • 浏览: 527595 次
  • 性别: 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  包,,请下载安装
分享到:
评论

相关推荐

    100以内加减法自动生成工具

    "100以内加减法自动生成工具"就是一个很好的实例,它利用Python编程语言为小学一二年级的学生设计,帮助他们进行数学练习。这个工具可以自动生成100以内的加减法算式,并提供对应的答案,方便学生学习和家长或教师...

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

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

    python 生成pdf的report

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

    Python编写1000以内随机加减法计算题,输出EXCEL文件

    本案例主要讲述了如何使用Python编写程序,来生成1000以内的随机加减法计算题目,并将这些题目导出到Excel文件中,便于孩子进行反复练习。 #### 二、技术栈介绍 1. **Python**:一种广泛使用的高级编程语言,以其...

    python实现随机加减法生成器

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

    Python生成pdf文件的方法

    本文实例演示了Python生成pdf文件的方法,是比较实用的功能,主要包含2个文件。具体实现方法如下: pdf.py文件如下: #!/usr/bin/python from reportlab.pdfgen import canvas def hello(): c = canvas.Canvas...

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

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

    Python实现PDF图片文件压缩

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

    python提取pdf文件目录.zip

    标题 "python提取pdf文件目录.zip" 提示我们这个压缩包包含了一个使用Python编程语言来提取PDF文件目录的示例代码。PDF(Portable Document Format)文件是常见的文档格式,它的目录通常包含了章节、子章节等结构,...

    巧用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编程语言制作词云图。词云图是一种视觉表示,它通过字体大小的差异来展示文本中词汇的出现频率。一般来说,出现频率越高的词汇,其在词云中的字体就越大。制作词云图是一个...

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

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

    python批量打印word、pdf文件,可按文件夹一份份打印

    这个函数会返回一个生成器,每次迭代都会给出当前目录、子目录列表以及文件列表。通过检查文件扩展名,我们可以区分Word(.docx或.doc)和PDF(.pdf)文件。 例如: ```python import os def print_files...

    python打包生成so文件的实现

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

    PDF转PPT工具python

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

    基于Python开发的自动批量打印图片、Word、PDF文件的小工具

    目前支持的文件格式:图片格式(适应尺寸打印),pdf,docx,doc文件格式。 当文件夹中存在其他文件格式时可能会报错(因为时临时做的小工具,所以没有做太多的兼容测试和开发)。 有生成好的exe文件(可直接在...

    通过python爬虫批量下载PDF文件

    在Python编程领域,爬虫是一种常见的技术,用于自动化地从互联网上抓取数据。本案例中,我们将讨论如何使用Python爬虫批量下载PDF文件,特别是针对教育类资源,如人教版学生教材。这个过程涉及到了几个关键的技术点...

    Python批量提取PDF文件中文本的脚本

    标题中的“Python批量提取PDF文件中文本的脚本”指的是使用Python编程语言编写的一个程序,其功能是自动处理多个PDF文件,从中提取出文本内容。这个脚本对于那些需要处理大量PDF文档,例如数据挖掘、文本分析或者...

    Python 用Python实现文件对比分析并生成报告 Python源码

    Python 用Python实现文件对比分析并生成报告 Python源码Python 用Python实现文件对比分析并生成报告 Python源码Python 用Python实现文件对比分析并生成报告 Python源码Python 用Python实现文件对比分析并生成报告 ...

    python+PDF压缩+典型的PDF压缩算法

    首先,Python中有多个库可以帮助我们处理PDF文件,如PyPDF2、PDFMiner和PDFBox等。在PDF压缩中,我们通常会用到PyPDF2库,它提供了读取、合并、分割PDF文件以及改变PDF元数据等功能。对于压缩,PyPDF2的一个关键方法...

Global site tag (gtag.js) - Google Analytics