热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

#-*-coding:utf-8-*-importrandomfromreportlabimportplatypusfromreportlab.lib.unitsimportinc

# -*- 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 &#43; b &#43; c <&#61; 20 and (a > 10 or b > 10 or c > 10):

ret.add( &#39;%-2d &#43; %-2d &#43; %-2d &#61;&#39; % (a, b, c) )

if len(ret) &#61;&#61; 25: break

while True:

a &#61; random.randint(1, 20)

b &#61; random.randint(1, 20)

c &#61; random.randint(1, 20)

if a &#43; b <&#61; 20 and a &#43; b - c >&#61; 0 and (a > 10 or b > 10 or c > 10):

ret.add( &#39;%-2d &#43; %-2d - %-2d &#61;&#39; % (a, b, c) )

if len(ret) &#61;&#61; 50: break

while True:

a &#61; random.randint(1, 20)

b &#61; random.randint(1, 20)

c &#61; random.randint(1, 20)

if a - b >&#61; 0 and a - b &#43; c <&#61; 20 and (a > 10 or b > 10 or c > 10):

ret.add( &#39;%-2d - %-2d &#43; %-2d &#61;&#39; % (a, b, c) )

if len(ret) &#61;&#61; 75: break

while True:

a &#61; random.randint(11, 20)

b &#61; random.randint(1, 20)

c &#61; random.randint(1, 20)

if a - b - c >&#61; 0 and (a > 10 or b > 10 or c > 10):

ret.add( &#39;%-2d - %-2d - %-2d &#61;&#39; % (a, b, c) )

if len(ret) &#61;&#61; 100: break

ret &#61; list(ret)

random.shuffle(ret)

return ret

&#39;&#39;&#39;for i in genList():

print i&#39;&#39;&#39;

def genTable():

data &#61; []

items &#61; genList()

for i in range(0, len(items), 5):

data.append(items[i:i&#43;5])

# Courier 是 reportlab 缺省定义的等宽字体

# (0,0)/(-1,-1)说的是style运用范围&#xff0c;从左上到右下

tablestyle &#61; [(&#39;FONT&#39;, (0,0), (-1,-1), &#39;Courier&#39;, 12),

(&#39;LINEAFTER&#39;, (0,0), (-2,-1), 1, colors.black)]

return platypus.Table(data, 2.2*inch, 0.35*inch, tablestyle)

import sys

try:

n &#61; int(sys.argv[1]) #恩恩&#xff0c;生成一个多页的PDF

except:

n &#61; 1

try:

fname &#61; sys.argv[2]

except:

fname &#61; &#39;20plus100.pdf&#39;

doc &#61; platypus.SimpleDocTemplate(fname, topMargin&#61;0.5*inch, bottomMargin&#61;0.5*inch, title&#61;&#39;DaDa Math&#39;, author&#61;&#39;qyb&#39;)

elements &#61; []

for i in range(n):

elements.append(genTable())

elements.append(platypus.flowables.PageBreak())

doc.pagesize &#61; landscape(A4)

doc.build(elements)

这个 功能需要用到python  的reportlab  包&#xff0c;&#xff0c;请下载安装

分享到&#xff1a;

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-12-24 16:00

浏览 3765

评论



推荐阅读
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 本文探讨了基于点集估算图像区域的Alpha形状算法在Python中的应用。通过改进传统的Delaunay三角剖分方法,该算法能够生成更加灵活和精确的形状轮廓,避免了单纯使用Delaunay三角剖分时可能出现的过大三角形问题。这种“模糊Delaunay三角剖分”技术不仅提高了形状的准确性,还增强了对复杂图像区域的适应能力。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 使用Python代码高效生成大规模随机数据集(千万级) ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 通过使用 `pandas` 库中的 `scatter_matrix` 函数,可以有效地绘制出多个特征之间的两两关系。该函数不仅能够生成散点图矩阵,还能通过参数如 `frame`、`alpha`、`c`、`figsize` 和 `ax` 等进行自定义设置,以满足不同的可视化需求。此外,`diagonal` 参数允许用户选择对角线上的图表类型,例如直方图或密度图,从而提供更多的数据洞察。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
  • 机器学习中的标准化缩放、最小-最大缩放及鲁棒缩放技术解析 ... [详细]
  • 在Python网络编程中,多线程技术的应用与优化是提升系统性能的关键。线程作为操作系统调度的基本单位,其主要功能是在进程内共享内存空间和资源,实现并行处理任务。当一个进程启动时,操作系统会为其分配内存空间,加载必要的资源和数据,并调度CPU进行执行。每个进程都拥有独立的地址空间,而线程则在此基础上进一步细化了任务的并行处理能力。通过合理设计和优化多线程程序,可以显著提高网络应用的响应速度和处理效率。 ... [详细]
  • 在Python中,可以通过导入 `this` 模块来优雅地展示“Python之禅”这一编程哲学。该模块会将这些指导原则以一种美观的方式输出到控制台。为了增加趣味性,可以考虑在代码中对输出内容进行简单的加密或混淆处理,以提升用户体验。 ... [详细]
  • 基于PythonOCC库,本文探讨了如何实现对曲线边(TopoDS_Edge)进行等间距周长分割的分析方法及其应用。通过使用BRepGProp模块中的线性属性计算功能,我们能够精确地将曲线分割成多个等长段,从而为后续的几何建模和工程应用提供基础支持。该方法不仅提高了曲线处理的效率,还增强了模型的准确性和可靠性。 ... [详细]
  • Pyhotn3基础笔记(上卷)吉多范罗苏姆(GuidovanRossum)一.解释器Python的解释器如今有多个语言的实现,包括&#x ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
author-avatar
MINT米田
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有