# -*- 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  包,,请下载安装

python文件加减法_python生成PDF文件20以内加减法,给上小学的宝宝相关推荐

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

    # -*- coding: utf-8 -*- import random from reportlab import platypus from reportlab.lib.units import ...

  2. 使用python的fpdf批量生成pdf文件

    1.首先cmd下载fpdf包 pip install fpdf 2.调用fpdf包,先实现写入数据的功能 from fpdf import FPDF pdf=FPDF() pdf.add_page() ...

  3. python指定目录_python生成指定文件夹目录树

    # -*- coding: utf-8 -*- import sys from pathlib import Path class DirectionTree(object): "" ...

  4. java中生成pdf文件,java 中生成pdf 文件

    用的是 itext library , 生成一个hello world pdf 文档 /* * This code is part of the 'iText Tutorial'. * You can ...

  5. 前端生成PDF 文件教程+在线demo案例

    个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨 ...

  6. 自动生成PDF文件(Java通过PDF模板自动生成PDF)

    思路: 1.创建PDF模板(先创建对应的excel文件,创建好后另存为PDF文件)即可. 2.使用Adobe Acrobat DC工具打开PDF文件,设置自己想要替换的内容. 3.maven项目引入依 ...

  7. java excel转pdf linux,从JAVA直接读取EXCEL、WORD并生成PDF文件

    从JAVA直接读取EXCEL.WORD并生成PDF文件 1.操作EXCEL和WORD文件 使用JAVA从EXCEL.WORD文件中读写数据,可以使用http://jexcelapi.sourcefor ...

  8. python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;

    python使用fpdf生成pdf文件章节(chapter),包含:页眉.页脚.章节主题.数据排版等: #仿真数据 The year 1866 was marked by a bizarre deve ...

  9. python使用fpdf生成pdf文件:配置多种语言字体写入多种文字

    python使用fpdf生成pdf文件:配置多种语言字体写入多种文字 目录

  10. python数据生成pdf,Python生成pdf文件的方法

    摘要:这篇Python开发技术栏目下的"Python生成pdf文件的方法",介绍的技术点是"python生成pdf文件.python生成pdf.生成pdf文件.Pytho ...

最新文章

  1. 一逛淘宝就停不下来?秘密在于首屏设计...
  2. 通过selenium模拟登陆新浪微博爬取首页和评论
  3. idea创建maven web项目需要注意的一些细节
  4. java获取xml参数
  5. 如何使用log.debug()
  6. Redis基数统计之HyperLogLog小内存大用处
  7. HLSL编译工具—FXC
  8. vrrp协议原理与应用
  9. 银医 服务器虚拟化,长宁时报数字报刊平台-技术创新 需求驱动 信息化助力医院发展...
  10. python教程简书_python基础教程
  11. [学习笔记]--ASP.Net MVC
  12. MC最强辅助模组,有了它从此下矿再也不怕了
  13. 工业物联网体系架构概述及基于工业物联网的智能制造
  14. 快速解决java端口占用
  15. Windows路由功能及DHCP中继服务
  16. 算法学习之算法的引入
  17. java地铁售票机系统_地铁售票机用java怎么样编写程序
  18. 银联接口对接demo测试
  19. EhViewer(E绅士)最新版_ehviewer白色版彩色版_Ehviewer显示网络错误怎么解决?e站进不去了怎么办
  20. 设计模式 之 责任链模式

热门文章

  1. 清除服务器传输文件记录,Sqlserver2012清除服务器连接记录(服务器名称历史记录清除)...
  2. 堆Heap块Chunk
  3. Android用悬浮按钮实现翻页效果
  4. Android:使用 Flutter 包创建 Xylophone 应用程序
  5. html中怎么设置栅格,[CSS] 栅格化布局
  6. java查看jar包源代码_如何查看 JAR 包的源代码
  7. helm install Error: timed out waiting for the condition
  8. SpringBoot项目运行环境问题【统一答疑】
  9. steam饥荒服务器配置修改,启动服务器_饥荒联机版快速配置Dedicated Server攻略_饥荒联机版怎么配置服务器_游戏堡...
  10. 微信小程序(五)新版的用户授权和判断是否是否已经授权和自动提示更新版本