热门标签 | 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

评论



推荐阅读
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 使用Python与OpenCV实现多实例掩膜图像的绘制
    本文介绍了一种方法,通过Python和OpenCV库来创建和显示多实例掩膜图像,其中不同的颜色代表不同的实例,而白色的边界线则用于区分各个实例。适合对图像处理和计算机视觉感兴趣的读者。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文介绍了如何在Python中使用join()方法将列表中的元素连接成一个字符串。join()方法允许用户指定分隔符,从而灵活地生成所需格式的字符串。此外,我们还将探讨一些实际应用中的注意事项和技巧。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文深入探讨了Python中的高阶函数和Lambda表达式的使用方法,结合实际案例解析其应用场景,帮助开发者更好地理解和运用这些强大的工具。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • C# WPF 打字射击游戏开发
    介绍了一个基于C#和WPF技术的简单打字射击游戏的实现方法,包括字母的生成、移动、消除以及基本的游戏界面设计。 ... [详细]
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社区 版权所有