【教学类-30-04】10以内减法题不重复(一页两份)(包括6以内、7以内、8以内、9以内、10以内减法题 只抽取25个)

news2025/1/12 12:15:32

作品展示 ——10以内不重复减法题

需求:

1、制作10以内减法题

材料准备:

 Word模板

代码展示:

'''
6、7、8、9、10以内减法一页两份(10以内减法一页两份(6以内、7以内、8以内、9以内、10以内不重复减法题)
时间:2023年4月8日 21:46
作者:阿夏
'''


import random
from win32com.client import constants,gencache
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 导入枚举常数模块
import os,time

import docx
from docx import Document
from docx.shared import Pt 
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn


from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor

# 第一步:制作不重复所有加法、不重复所有减法

# 不重复的数字题
num=int(input('打印几份(输入28人,实际14份)\n'))
size=int(input('字体大小(25)\n'))
height1=int(input('单元格高度(5行)\n'))
weight1=int(input('单元格宽度(5列)\n'))
sum=int(input('X以内的(6以内、7以内、8以内、9以内、10以内)\n'))
classroom=input('班级(输入中6)\n')

# 6以内:28
# 7以内:36
# 8以内:45
# 9以内:55
# 10以内:66

# 5以内减法题共21题
S=[]
for a in range(sum+1):
    for b in range(sum+1):
        if 0<=a-b<sum+1:              
            # print('{}+{}='.format(a,b))
            S.append('{}-{}='.format(a,b))
        if 0<=b-a<sum+1:  
            S.append('{}-{}='.format(b,a))         
# print(S)
S=list(set(S))    # 去除重复
S.sort()     # 排序
print(S)    
# ['0-0=', '1-0=', '1-1=', '2-0=', '2-1=', '2-2=', '3-0=', '3-1=', '3-2=', '3-3=', '4-0=', '4-1=', '4-2=', '4-3=', '4-4=', '5-0=', '5-1=', '5-2=', '5-3=', '5-4=', '5-5=']
print(len(S))     # 21
# ['0+0=', '0+1=', 

# 新建一个”装N份word和PDF“的临时文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\加减法\零时Word')



n=int(num/2)
for z in range(0,n):   #多少份  
    # 新建word
    doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\加减法\01加法模板一页两份(6-10以内加法).docx')  
    for j in range(2):        # 0,1
       
        # 标题说明
        D=[]
        c='{}班'.format(classroom)
        title='{}以内不重复减法{}题抽{}题 '.format(sum,len(S),height1*weight1)
        d=['03','05']
        # 表格0 表格2的 03 05单元格里写入标题信息c
        D.append(c)
        D.append(title)
        print(D)
       
        # 制作"单元格"
        N=[]
        for x in range(0,height1):   
            for y in range(0,weight1):            
                s1='{}{}'.format(x,y)       # 数字加空格
                N.append(s1)   
        print(N)        
        # ['00', '01', '02', '03', '04', '10', '11', '12', '13', '14', '20', '21', '22', '23', '24', '30', '31', '32', '33', '34', '40', '41', '42', '43', '44']
        bg=N[0:len(S)]        # 只要21个单元格
        print(bg)
        # ['00', '01', '02', '03', '04', '10', '11', '12', '13', '14', '20', '21', '22', '23', '24', '30', '31', '32', '33', '34', '40']

        # 索引数字 随机抽取25个数字 
        C=random.sample(S,height1*weight1)  
        print(C)


#       # 房间模板(第一个表格)要写入的门牌号列表 
        table = doc.tables[j*2]          # 表0,表2
        # 标题写入3、5单元格  
        for t2 in range(0,len(d)):             # 0-5是最下面一行,用来写卡片数字
            pp2=int(d[t2][0])     # 
            qq2=int(d[t2][1])
            k2=D[t2]                  # 提取list图案列表里面每个图形  t=索引数字
            print(pp2,qq2,k2)

            run=table.cell(pp2,qq2).paragraphs[0].add_run(k2)    # 在单元格0,0(第2行第2列)输入第0个图图案
            run.font.name = '微软雅黑'#输入时默认华文彩云字体
            run.font.size = Pt(15)  #输入字体大小默认30号
            run.bold=True
            run.font.color.rgb = RGBColor(200,200,200) #数字小,颜色深0-255
            run.font.underline = False          # 下划线
            # paragraph.paragraph_format.line_spacing = Pt(280) #数字段间距

            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')#将输入语句中的中文部分字体变为华文行楷

        table = doc.tables[j*2+1]          # 表1,表3
        for t1 in range(0,len(bg)):             # 0-5是最下面一行,用来写卡片数字
            pp1=int(bg[t1][0])     # 
            qq1=int(bg[t1][1])
            k1=C[t1]                  # 提取list图案列表里面每个图形  t=索引数字
            print(pp1,qq1,k1)

            run=table.cell(pp1,qq1).paragraphs[0].add_run(k1)    # 在单元格0,0(第1行第1列)输入第0个图图案
            run.font.name = '微软雅黑'#输入时默认华文彩云字体
            run.font.size = Pt(size)  #输入字体大小默认30号
            run.bold=True
            run.font.color.rgb = RGBColor(200,200,200) #数字小,颜色深0-255
            run.font.underline = False          # 下划线
            # paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距

            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')#将输入语句中的中文部分字体变为华文行楷
#             table.cell(pp1,qq1).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中   

    
# #    
    doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\加减法\零时Word\{}.docx'.format('%02d'%(z+1)))#保存为XX学号的电话号码word     

    from docx2pdf import convert
    # docx 文件另存为PDF文件
    inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/加减法/零时Word/{}.docx".format('%02d'%(z+1))# 要转换的文件:已存在
    outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/加减法/零时Word/{}.pdf".format('%02d'%(z+1))  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile, 'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)
    
print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    
# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  'C:/Users/jg2yXRZ/OneDrive/桌面/加减法/零时Word'
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:
    print(pdf)
    file_merger.append(pdf)
file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/加减法/(打印合集)02减法(一页两份 ){}以内减法共{}题抽{}题({}共{}人打印{}张).pdf".format(sum,len(S),height1*weight1,c,num,n))

file_merger.close()
# doc.Close()

# # print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/加减法/零时Word') #递归删除文件夹,即:删除非空文件夹





    
    

 重点说明:

获得所有不重复的排序的5以内减法题目列表a-b b-a

 

终端输入

  

 作品展示——10以内减法

 作品展示——9以内减法

 

作品展示——8以内减法

 

作品展示——7以内减法

 

作品展示——6以内减法

 

 规律:同一个数字(X以内),无论加法还是减法,不重复数量相同

X以内

加法题/减法题不重复数量

抽取数量(25格)

1

3

3

2

6

6

3

10

10

4

15

15

5

21

21

6

28

25

7

36

25

8

45

25

9

55

25

10

66

25

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/416268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件访问被拒绝?5个解决方法!

案例&#xff1a;文件访问被拒绝 【朋友们&#xff0c;想问问大家的电脑有遇到过文件访问被拒绝的情况吗&#xff1f;真的太头疼了&#xff0c;大家都是怎么解决的呢&#xff1f;】 在日常使用电脑和操作文件时&#xff0c;有时我们可能会遇到文件访问被拒绝的情况。这可能会…

Scala框架Akka学习

Scala框架Akka 文章目录Scala框架AkkaAkka概述Akka特点Akka与Scala.actors.Actor的关系Akka模型介绍Actor模型的优点Akka模型的核心概念如何创建Actor添加依赖在Akka中&#xff0c;Actor负责通信&#xff0c;在Actor中有一些重要的生命周期方法**akka的架构原理**创建Actor的步…

Charles二次开发-接口解密

1&#xff0c;使用背景 最近工作中对公司接口进行抓包&#xff0c;发现接口路径和返回都是经过加密的&#xff0c;对于查看接口路径及接口返回结果带来了不便&#xff0c;于是想到了对Charles进行小改造&#xff0c;在Charles上增加一个按钮对加密的请求、响应结果解密&#x…

[学习笔记]计算机图形学(一)

计算机图形学学习笔记&#xff08;一&#xff09; 什么是计算机图形学 计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。 什么是好的画面&#xff1f; 从技术层面简单的评判标准&#xff1a;直接看画面…

Android实现RecyclerView分组显示功能完整示例(自定义组头和Item布局)

实现效果截图&#xff1a; 首先&#xff0c;我们需要为RecyclerView添加一个分组的概念&#xff0c;我们可以创建一个Group类来表示分组&#xff0c;包括分组名称和分组中的数据项列表。代码如下&#xff1a; public class Group {private String name;private List<Item&g…

ChatGPT-5到底有多强?Battle!咱貌似也不输呀!

盘点今年的热点话题&#xff0c;ChatGPT是不可避免要被反复提及的一part。从去年的-3.0到今年的-3.5&#xff0c;再到上月刚发布-4.0。从用户体验和市场反馈来讲&#xff0c;这半年的时间&#xff0c;ChatGPT每一步都走得又稳又快&#xff01; 回想起今年2月初ChatGPT全网爆火的…

最短路径-dijkstra/floyd

目录 floyd -dijkstra floyd floyd:用来求所有顶点之间的最短路径问题,求最短路径具体节点顺序&#xff0c;求各点之间最短路径长度 理解floyd&#xff1a; 二维矩阵图&#xff0c;就是不断通过测试新的节点k&#xff0c;看看k节点能不能作为中间节点优化各点之间的最短距离…

SourceMap源码映射详细讲解

SourceMap源码映射详细讲解 前端工程打包后代码会跟项目源码不一致&#xff0c;当代码运行出错时控制台上定位出错代码的位置跟项目源码上不对应。这时候我们很难定位错误代码的位置。SourceMap的用途是可以将转换后的代码映射回源码&#xff0c;如果设置了js文件对应的map资源…

Java每日一练(20230416)

目录 1. 三数之和 &#x1f31f;&#x1f31f; 2. 基本计算器 &#x1f31f;&#x1f31f;&#x1f31f; 3. 通配符匹配 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java…

Android:编译libevent动态库并移植jni中,在Android AVD虚拟机上实现一个http服务器

libevent源码&#xff1a;libevent-2.1.8-stable Android Studio版本&#xff1a;Android Studio Electric Eel | 2022.1.1 Patch 2 AVD虚拟机为x86. https://developer.android.google.cn/studio/run/emulator-networking?hlzh-cn#connecting 大体步骤&#xff1a; 1.在ws…

Vue2_01_data_插值

插值语法 {{name}} data: vue实例的数据对象 data中数据变化时将重新渲染容器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!--引入vue,引入之后vue.js 创建了一个全局变…

c语言进阶篇_动态内存管理(数组可以自动扩容?)

前言 &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f; c语言初阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:讲解c语言中的动态内存管理知识,涉及malloc函数、call…

微信小程序运行及更新机制

微信小程序运行及更新机制1、微信小程序运行机制1.1 前台和后台1.2 小程序启动&#xff1a;冷启动和热启动1.3 小程序销毁2、微信小程序更新机制2.1 启动时同步更新定期检查发现版本更新用户长时间未使用小程序2.2 启动时异步更新开发者手动触发更新2.3 小程序管理后台的相关设…

软件测试分类详解

一图看清软件测试分类 一、按测试技术分&#xff08;是否查看代码&#xff09; **1. 黑盒测试**&#xff1a;软件功能是否正常使用【功能的测试】 **2. 白盒测试**&#xff1a;代码逻辑是否正确【结构的测试】 **3. 灰盒测试**&#xff1a;介于两者之间的测试&#xff0c;也…

第12章_集合框架

第12章_集合框架 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 1. 集合框架概述 1.1 生活中的容器 1.2 数组的特点与弊端 一方面&#xff0c;面向对象语言对事物的体现都是以对…

iOS 项目嵌入Flutter 运行

一 创建Flutter 模块命令行flutter create --template module my_flutter创建完成后&#xff0c;该模块和普通的Flutter项目一直&#xff0c;可以通过Android Studio或VSCode打开、开发、运行&#xff1b;和之前项目不同的iOS和Android项目是一个隐藏文件&#xff0c;并且我们…

黑马点评缓存练习题shop-type缓存,附带详细解析

黑马点评缓存练习题shop-type缓存 依照shop详情的缓存 Controller代码 public class ShopTypeController {Resourceprivate IShopTypeService typeService;GetMapping("list")public Result queryTypeList() {return typeService.queryList();} }创建service接口方…

SentenceTransformers介绍

SentenceTransformer使用范例 1使用SentenceTransformers获得句子向量嵌入 from sentence_transformers import SentenceTransformer#模型下载 model SentenceTransformer(paraphrase-MiniLM-L6-v2)# 编码句子 sentences [Python is an interpreted high-level general-pur…

JavaScript【五】JavaScript中的对象

文章目录&#x1f31f;前言&#x1f31f;对象&#xff1a;&#x1f31f;声明对象&#xff1a;&#x1f31f;隐式创建对象&#xff1a;&#x1f31f;实例化Object&#xff1a;&#x1f31f;实例化自定义构造函数&#xff1a;(会重复占用内存)&#x1f31f;new运算符具体做了什么…

自动内存管理之【常量池】

首先上一段代码&#xff0c;一起思考&#xff0c;打印的结果&#xff0c;基于jdk1.8。 StringBuilder sbnew StringBuilder("我爱我媳妇儿");String s sb.toString();System.out.println(s.intern()s); //falsesb.append("&#xff0c;她也很爱我&#xff01;&…