【教学类-13-02】20221115《数字色块图5*7*8横板》(中班主题《》)

news2025/1/13 17:46:25

  效果展示

 

 背景需求:

   前期中3班制作5*7 *9张数字图,发现三个问题:

1、数量太多,填不完——每人9张调整为每人4张(一张A4两份作业)

2、数字太浅,看不清——5*7的提示数字是灰色,数字一多,部分幼儿看不清楚。就直接涂色了。

3、数字太像:搞不懂——对于8和3、5和6、5和3等外形相似的图形,幼儿也不容易搞清楚。

4、数字相同:填同色——有两份作业里面全是数字5,幼儿无法画两种颜色,只能涂一种色

5、1的迷惑:幼儿对花体字的1(上有勾,下有横线)有异议:这个是1吗?

WORD表格制作(在纵向A4)

页眉写入个人信息

  分栏

  表格参数  

 

 两个表格中间的段落间距 

代码设计:

'''

作者:阿夏
时间:2022年11月11日数字像素图(A4横板5*7 8个表 中间一切二)
(A4横板排5*7*8 每套两个数字涂成不同的颜色 ))
'''

import os,random

num=int(input('生成多少份\n'))
Number=int(input('抽取几个数字(10个数字中取横板8个(4个一组)\n'))
size=float(input('数字大小(最大28,建议25)\n'))
weight=int(input('表格宽度(5格)\n'))
height=int(input('表格长度高度(7格)\n'))

print('----------第1步:提取所有图案------------')

import random
# m数字位置上的数字


print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\像素图\零时Word')


print('----------第3步:随机抽取8个不重复的图案 ------------')
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

for z in range(0,num):   #多少份  

    m=str(random.randint(0,1)) # 涂色部分数字和非涂色部分数字不能一样 0,1,2,3,4  共5个(小)
    n=str(random.randint(2,9)) # 涂色部分数字和非涂色部分数字不能一样 5,6,7,8,9  工5个(大)

    N=[]
    def same():
        for r in range(0,len(nn)):
            nn1=int(nn[r][0])
            nn2=int(nn[r][1])
            for nnn in range(nn1,nn2):
                N.append(n) 

            mm1=int(mm[r][0])
            mm2=int(mm[r][1])
            for mmm in range(mm1,mm2):
                N.append(m)
    # print(N)

    # 数字1 的坐标位置列表值
    nn=['07','04','04','04','04','07']
    mm=['01','01','01','01','01','00']
    same()

    # 数字2 的坐标位置列表值
    nn=['06','04','02','02','04','06']
    mm=['03','01','03','01','03','00']
    same()

    # 数字3 的坐标位置列表值
    nn=['06','04','02','04','02','06']
    mm=['03','01','03','01','03','00']
    same()

    # 数字4 的坐标位置列表值
    nn=['06','01','02','01','02','01','02','03','06']
    mm=['01','01','01','01','01','01','04','01','00']
    same()

    # 数字5 的坐标位置列表值
    nn=['06','02','04','04','02','06']
    mm=['03','01','03','01','03','00']
    same()

    # 数字6 的坐标位置列表值
    nn=['06','02','04','02','01','02','06']
    mm=['03','01','03','01','01','03','00']

    # 数字7 的坐标位置列表值
    nn=['06','04','04','04','04','06']
    mm=['03','01','01','01','01','00']
    same()

    # 数字8 的坐标位置列表值
    nn=['06','02','01','02','02','01','02','06']
    mm=['03','01','01','03','01','01','03','00']
    same()

    # 数字9 的坐标位置列表值
    nn=['06','02','01','02','04','02','06']
    mm=['03','01','01','03','01','03','00']
    same()

    # 数字0 的坐标位置列表值
    nn=['06','02','01','02','01','02','01','02','06']
    mm=['03','01','01','01','01','01','01','03','00']
    same()

    Nall=[] # [[],[],[]]的样式

    for aaa in range(0,int(len(N)/int(weight*height))):    # 把35*10个数字,分割成35一组,35一组,一共10组(0-9)
        aaaa=(N[aaa*int(weight*height):aaa*int(weight*height)+int(weight*height)])
        Nall.append(aaaa)        # 10组的35个数字
    print(Nall)
    nine=random.sample(Nall,Number)      # 从10个中间随机抽9组(排序打乱,数字会少一个)
    print(nine)

    doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\像素图\数字像素图横板8个.docx') 

    for numbg in range(0,len(nine)): # [[],[],[]]的样式的索引数字
    #     print(num1)
        NUMnum=nine[numbg]
        print(NUMnum)      

    #  确定8*4表格的表格单元格坐标(如第1行第1格是0,0 ,第2行第3格是(1,2)   
        bg=[]
        for x in range(0,height):
            for y in range(0,weight):
                ww='{}{}'.format(x,y)
                bg.append(ww)
        print(bg)      
    
    # ['00', '01', '02', '03', '04', '05', '06', '07', '10', '11', '12', '13', '14', '15', '16', '17', '20', '21', '22', '23', '24', '25', '26', '27', '30', '31', '32', '33', '34', '35', '36', '37']
    # 提取表格单元格坐标和图形的坐标
    
        table = doc.tables[numbg]          # 一共有9个表格        

        for t in range(0,len(NUMnum)):             # 图案的长度为8*4=32个    遍历0-32(32个)
            pp=int(bg[t][0])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
            qq=int(bg[t][1])
            k=NUMnum[t]                  # 提取list图案列表里面每个图形  t=索引数字
            print(pp,qq,k)

            run=table.cell(pp,qq).paragraphs[0].add_run(k)    # 在单元格0,0(第1行第1列)输入第0个图图案
            run.font.name = '黑体'#输入时默认华文琥珀字体
            run.font.size = Pt(size)  #输入字体大小默认30号
            run.font.color.rgb = RGBColor(100,100,100) #设置颜色浅灰
            
            r = run._element
            r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
            table.cell(pp,qq).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/桌面/像素图/(打印合集) 中3班 像素图数字横版{}乘{}乘8个({}份).pdf".format(weight,height,num))
file_merger.close()
# doc.Close()

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

 

重点说明:

1.终端运行

 从抽取9个数字变成抽取8个数(两份)

2.把”勾1 “改成普通的”竖条1“

勾1代码和样式

  

3.把单元格两种数字的颜色变成深,醒目一点。

 

竖版9张的数字题里面颜色是200,浅灰色,幼儿看不见。如果改成0,0,0就是纯黑色

 

 4.单元格数字的内容,排除外形近似数字(镜像、重复)

其他重点代码与数字图5*7*9的内容一样。不赘述。

效果再显示——0-9随机抽取9个数字,排序打乱

 

教学活动展示

时间:2022-11- 15:00-15:30

班级:大班

人数:人

剪下来当扑克牌玩

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

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

相关文章

WeNet更新:喜马拉雅团队在 WeNet 中支持 Squeezeformer

WeNet在正式发布两年的时间里,成为非常热门的ASR生产工具,其面向生产的属性更是深受工业界的好评。近期,喜马拉雅团队在WeNet中支持了Squeezeformer的相关工作。本文由喜马拉雅珠峰智能实验室撰写,介绍了Squeezeformer论文的复现细…

vant_vant引入

目录vant官网使用vant[1]导入vant 的所有组件[2] 按需引入组件[3]自动按需引入组件使用过程中遇到的问题[1]问题1-版本冲突vant官网 vant2.0官网 使用vant 参考vant官网–>快速上手–>通过npm安装/引入组件 [1]导入vant 的所有组件 [1] 安装 vant :npm i va…

基于matlab的MRC最大合并比误码率仿真,包括维特比译码,MRC,中继

目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 最大比合并(Maximal Ratio Combining,MRC)是分集合并技术中的最优选择,相对于选择合并和等增益合并可以获得最好的性能,其性能…

STC51单片机29——汇编语言 取表法 流水灯

汇编语言编写流水灯 ORG 0 START: MOV DPTR,#TABLE LOOP: CLR A MOVC A,ADPTR CJNE A,#01H,LOOP1 //假如A等于01H ,则执行下一句 JMP START LOOP1: MOV P1,A MOV R3,#20 LCALL DELAY INC DPTR //指针自加1 JMP LOOP DELAY: MOV R4,#20 D1: MOV R5,#24…

【6-Git安装与配置过程、Gitee码云上创建项目、IDEA关联克隆的项目】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

异常检测 | MATLAB实现BiLSTM(双向长短期记忆神经网络)数据异常检测

异常检测 | MATLAB实现BiLSTM(双向长短期记忆神经网络)数据异常检测 目录 异常检测 | MATLAB实现BiLSTM(双向长短期记忆神经网络)数据异常检测效果一览基本介绍模型准备模型设计参考资料效果一览 基本介绍 训练一个双向 LSTM 自动编码器来检测机器是否正常工作。 自动编码器接受…

一文教你搞懂Go中栈操作

LInux 进程在内存布局 多任务操作系统中的每个进程都在自己的内存沙盒中运行。在 32 位模式下,它总是 4GB 内存地址空间,内存分配是分配虚拟内存给进程,当进程真正访问某一虚拟内存地址时,操作系统通过触发缺页中断,在…

前后端必知必会的HTTP,这份全彩版图解手册可算是给讲透了

HTTP HTTP (HyperText Transfer Protocol),即超文本运输协议。是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它…

基础15:npm、yarn、pnpm

npm2 用 node 版本管理工具把 node 版本降到 4,那 npm 版本就是 2.x 了。 执行 npm init, npm install express,可以看到node_modules目录如下: 可以看到,npm2的node_modules是嵌套的。 这种方式的优点就是模块依赖关…

NDIR二氧化碳传感器原理介绍

文章目录1. 引言2. 分类3. 红外气体传感原理3.1 朗伯-比尔定律3.2 非分光红外(NDIR)法检测原理3.3 浓度、温湿度标定3.4 响应时间研究4. 参考文献1. 引言 环境领域:近些年,二氧化碳是引起温室效应的主要气体,因此引起…

项目可交付成果的质量管理该怎么做?

通往项目最终服务或产品的道路往往是由许多临时可交付成果铺就的。每一个可交付成果本身都必须完整、质量合适并与所有其他可交付成果协调,同时确保: ● 保持客户和主要利益相关者所要求的质量水平。 ● 项目可交付成果是根据客户的规格和项目目标开发…

使用jenkins自动打包构建Maven项目

1.Jenkins是什么(借鉴官网) Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序 2.Jenkins下载安装 …

指纹和虚拟机哪个好用?两者之间的区别是什么?

2022年了,相信大家对指纹浏览器都不陌生了,很多做跨境电商、海外社媒营销、联盟营销的企业都会借助指纹浏览器来多账号批量管理。而在指纹浏览器没出现之前,大部分企业都会使用虚拟机来解决浏览器环境安全问题。所以指纹浏览器和虚拟机到底哪…

EN 14967:防水沥青防潮层—CE认证

防水沥青防潮层CE认证(欧盟强制认证)-简介 在欧盟市场“CE”标志属强制性认证标志,以表明产品符合欧盟《技术协调与标准化新方法》指令的基本要求。这是欧盟法律对产品提出的一种强制性要求。 在防水沥青防潮层上加贴CE标志不但可…

2021年全国职业院校技能大赛高职组“软件测试”赛项—“阶段二竞赛任务书”

2021年全国职业院校技能大赛高职组 “软件测试”赛项—“阶段二竞赛任务书” 2021年6月 软测讨论611474045 一、竞赛时间、内容及成绩组成 (一)竞赛时间 本阶段竞赛时间共为3小时,参赛选手自行安排任务进度,休息、饮水、如厕…

操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁

操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开…

基于servlet的校园车辆管理系统

开发环境 eclipsemysql5.7jdk1.8 系统简介 基于Web的校园车辆管理系统主要用于对校园内的车辆进行管理,基本功能包括:人员信息管理模块,车位信息管理模块,IC卡信息管理模块,固定车辆管理模块,临时车辆管…

Java_继承

作者:爱塔居的博客_CSDN博客-JavaSE领域博主 专栏:JavaSE 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结一、为什么需要继承 🍸继承最大的意义是:对代码可以进行复用。 Java中使用类对现实世界…

Idea下载及配置

1、下载Vscode 1.1、官网 https://code.visualstudio.com/1.2、替换链接 将下载地址中的 az764295.vo.msecnd.net 更换为 vscode.cdn.azure.cn 使用国内的镜像服务器加速 https://vscode.cdn.azure.cn/stable/6261075646f055b99068d3688932416f2346dd3b/VSCodeUserSetup-x6…

【好文鉴赏】面试官说你回答的不够深入,怎么办?

关键词:[产品经理] [面试] 原文链接:https://coffee.pmcaff.com/article/3665424751688832/pmcaffutm_source 前言 生动,往往源于对事实的诠释; 面试官说逻辑力很强、沟通表达也很优秀,但在面试时效果并不太好&…