效果展示

背景需求

1、纸张不够,缩小学具的面积

最近Python纸类学具用的频率高,主任给我的打印废纸都用光了o(╥﹏╥)o。

因此只能节省空间,设计一页A4的内容两个孩子用。

2、AB排序,永恒的数经验

上次中班一位老师提到需要AB排序类的学具,我给她一份涂色块的PDF,她说在分院没有彩色打印机。因此需要将彩色色块改成其他能够被打印的黑白图案。

结果:

将“规律填色的py"(AB色块涂色)的代码进行调整,设计图形(几何形、数字形)的ABAB排序学具

材料准备

1、word模板格式

  1. 图形准备

搜狗输入法-符号大全-特殊符号-空心几何图案(凑满12个)

搜狗输入法-符号大全-数字符号-带圈数字(凑满12个)

写两组列表

3、代码准备

# https://www.codenong.com/cs106022019/'''作者:阿夏
时间:2023年3月22日ABAB规律画几何形+填色竖版)
原理
# 一共10行,2份, 共用一个10*9表格
# 1-5行1份 1-2行是图形2个,3-4行是数字2个、第5行自己编
# 6-10行2份 6-7行是图形2个,8-9行是数字2个、第10行自己编'''from docx import Document
from docx.oxml.ns import nsdecls
from docx.oxml import parse_xml
import random,os
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# 新建表行数
# rowsNum = int(input('行数(1行)\n'))
# 新建表列数
number = int(input('几个图案(只要2个=AB)\n'))# 填充几个格子AB=2个
hang=number*2
# rowrow= int(input('横向几条?(4)\n'))
num= int(input('生成多少份?\n'))print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\零时Word')for nn in range(1,num+1):f1=['○','□','▽','☆','◇','△','◇','☾','♡','☼','♧','¤']# 几何形12个f2=['①','②','③','④','⑤','⑥','⑦','⑧','⑨','⑩','⑪','⑫']   # 数字圈10个doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\规律填色模板(竖版AB).docx')# 制作列表figure=[]for i in range(2):        # 5行组合循环2次figures1=random.sample(list(f1),hang)    # number=8几何形抽取2行,不重复的12个中的4个,figures2=random.sample(list(f2),hang)  # number=8数字圈抽取2行,不重复的12个中的4个,kong=''# 每页上面5行先组合里列表for h in figures1:figure.append(h)    # 1-2行几何形for g in figures2:figure.append(g)    # 3-4行数字圈for h1 in range(2):figure.append(kong)   # 5行空缺(幼儿自己填)print(figure) #    ['¤', '☆', '☼', '◇', '①', '⑧', '③', '⑤', '', '', '△', '□', '◇', '♧', '④', '⑤', '②', '⑥', '', '']# 单元格位置bg=[]for x in range(0,20,2):        # 里面有部分隐藏表格,1行3行5行……for y in range(0,number):                # 只要填充2个格子ABABww='{}{}'.format('%02d'%x,'%02d'%y)bg.append(ww)print(bg)   # ['00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01']table = doc.tables[0]          # 4567(8)行for t in range(len(bg)):   # 02pp=int(bg[t][0:2])    qq=int(bg[t][2:4])  # print(p)               k=figure[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(46)  #输入字体大小默认30号# run.font.bold= True  #是否加粗run.font.color.rgb = RGBColor(200,200,200) #数字小,颜色深0-255# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中     doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\零时Word\{}.docx'.format('%02d'%nn))   from docx2pdf import convert# docx 文件另存为PDF文件inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在# 先创建 不存在的 文件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/桌面/AB图形填色/零时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/桌面/AB图形填色/(打印合集)画图形+填色A4竖版2份AB({}份).pdf".format(num))
file_merger.close()
# doc.Close()# print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word') #递归删除文件夹,即:删除非空文件夹

终端运行

作品位置

学具展示

操作说明:

这样28位孩子只用打印14份废纸就可以了。

1、模仿AB图案画后面的图形

2、自己画一个自创的AB图案

3、涂色

4、裁剪

5、粘贴成手串、长圈、拉拉圈等

  1. 纸圈任意位置写一个学号

存在问题:

模仿绘画得AB几何形图案有点难度

从幼儿操作角度来看,我发现几何形中的爱心、五角星、黑桃图案,并不是每位中班幼儿都能模仿绘画的。

处理方法——删除列表中的元素

因此需要剔除一些复杂得空心图案(保留 圆形、正方、倒三角、菱形、正三角、椭圆(希腊字母))

(搜狗和讯飞的符号中,几何空心图案比较少)

# https://www.codenong.com/cs106022019/'''作者:阿夏
时间:2023年3月22日ABAB规律画几何形+填色竖版)
原理
# 一共10行,2份, 共用一个10*9表格
# 1-5行1份 1-2行是图形2个,3-4行是数字2个、第5行自己编
# 6-10行2份 6-7行是图形2个,8-9行是数字2个、第10行自己编'''from docx import Document
from docx.oxml.ns import nsdecls
from docx.oxml import parse_xml
import random,os
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# 新建表行数
# rowsNum = int(input('行数(1行)\n'))
# 新建表列数
number = int(input('几个图案(只要2个=AB)\n'))# 填充几个格子AB=2个
hang=number*2
# rowrow= int(input('横向几条?(4)\n'))
num= int(input('生成多少份?\n'))print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\零时Word')for nn in range(1,num+1):f1=['○','□','▽','◇','△','Ο']# 简单几何形6个(1个希腊字母o)f2=['①','②','③','④','⑤','⑥','⑦','⑧','⑨','⑩','⑪','⑫']   # 数字圈10个doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\规律填色模板(竖版AB).docx')# 制作列表figure=[]for i in range(2):        # 5行组合循环2次figures1=random.sample(list(f1),hang)    # number=8几何形抽取2行,不重复的12个中的4个,figures2=random.sample(list(f2),hang)  # number=8数字圈抽取2行,不重复的12个中的4个,kong=''# 每页上面5行先组合里列表for h in figures1:figure.append(h)    # 1-2行几何形for g in figures2:figure.append(g)    # 3-4行数字圈for h1 in range(2):figure.append(kong)   # 5行空缺(幼儿自己填)print(figure) #    ['¤', '☆', '☼', '◇', '①', '⑧', '③', '⑤', '', '', '△', '□', '◇', '♧', '④', '⑤', '②', '⑥', '', '']# 单元格位置bg=[]for x in range(0,20,2):        # 里面有部分隐藏表格,1行3行5行……for y in range(0,number):                # 只要填充2个格子ABABww='{}{}'.format('%02d'%x,'%02d'%y)bg.append(ww)print(bg)   # ['00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01']table = doc.tables[0]          # 4567(8)行for t in range(len(bg)):   # 02pp=int(bg[t][0:2])    qq=int(bg[t][2:4])  # print(p)               k=figure[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(46)  #输入字体大小默认30号# run.font.bold= True  #是否加粗run.font.color.rgb = RGBColor(200,200,200) #数字小,颜色深0-255# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中     doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\零时Word\{}.docx'.format('%02d'%nn))   from docx2pdf import convert# docx 文件另存为PDF文件inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在# 先创建 不存在的 文件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/桌面/AB图形填色/零时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/桌面/AB图形填色/(打印合集)画简单图形+填色A4竖版2份AB({}份).pdf".format(num))
file_merger.close()
# doc.Close()# print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word') #递归删除文件夹,即:删除非空文件夹

学具展示

打印问题(20230323):

习惯性生成28份(28人)

因此生成了28份PDF(实际是,56份学具)

全选打印,发现打印了很厚一堆纸、其中有8张纯白纸,为什么会多打印?怎么不是14份?

原来我生成了28份(页),因此全选打印后就是打印28页,而不是14页(28份)

也就是说,这种一页2套的学具,实际上只要生成总数的一半,也就是只要生成1-14页(14*2=28份)

对于这种一页2份的学具,在代码里直接将生成份数除以2,生成14份并打印,就不会过多打印,浪费纸张了。

# https://www.codenong.com/cs106022019/'''作者:阿夏
时间:2023年3月22日ABAB规律画几何形+填色竖版)
原理
# 一共10行,2份, 共用一个10*9表格
# 1-5行1份 1-2行是图形2个,3-4行是数字2个、第5行自己编
# 6-10行2份 6-7行是图形2个,8-9行是数字2个、第10行自己编'''from docx import Document
from docx.oxml.ns import nsdecls
from docx.oxml import parse_xml
import random,os
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# 新建表行数
# rowsNum = int(input('行数(1行)\n'))
# 新建表列数
number = int(input('几个图案(只要2个=AB)\n'))# 填充几个格子AB=2个
hang=number*2
# rowrow= int(input('横向几条?(4)\n'))
num= int(input('生成多少份?\n'))print('----------第2步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\零时Word')for nn in range(0,int(num/2)):#打印时只要28/2=14页f1=['○','□','▽','◇','△','Ο']# 简单几何形6个(1个希腊字母o)f2=['①','②','③','④','⑤','⑥','⑦','⑧','⑨','⑩','⑪','⑫']   # 数字圈10个doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\规律填色模板(竖版AB).docx')# 制作列表figure=[]for i in range(2):        # 5行组合循环2次figures1=random.sample(list(f1),hang)    # number=8几何形抽取2行,不重复的12个中的4个,figures2=random.sample(list(f2),hang)  # number=8数字圈抽取2行,不重复的12个中的4个,kong=''# 每页上面5行先组合里列表for h in figures1:figure.append(h)    # 1-2行几何形for g in figures2:figure.append(g)    # 3-4行数字圈for h1 in range(2):figure.append(kong)   # 5行空缺(幼儿自己填)print(figure) #    ['¤', '☆', '☼', '◇', '①', '⑧', '③', '⑤', '', '', '△', '□', '◇', '♧', '④', '⑤', '②', '⑥', '', '']# 单元格位置bg=[]for x in range(0,20,2):        # 里面有部分隐藏表格,1行3行5行……for y in range(0,number):                # 只要填充2个格子ABABww='{}{}'.format('%02d'%x,'%02d'%y)bg.append(ww)print(bg)   # ['00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01']table = doc.tables[0]          # 4567(8)行for t in range(len(bg)):   # 02pp=int(bg[t][0:2])    qq=int(bg[t][2:4])  # print(p)               k=figure[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(46)  #输入字体大小默认30号# run.font.bold= True  #是否加粗run.font.color.rgb = RGBColor(200,200,200) #数字小,颜色深0-255# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中     doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\AB图形填色\零时Word\{}.docx'.format('%02d'%nn))   from docx2pdf import convert# docx 文件另存为PDF文件inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在# 先创建 不存在的 文件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/桌面/AB图形填色/零时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/桌面/AB图形填色/(打印合集)画简单图形+填色A4竖版2份AB({}页{}份).pdf".format(int(num/2),num))
file_merger.close()
# doc.Close()# print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/AB图形填色/零时Word') #递归删除文件夹,即:删除非空文件夹

材料位置

14页打印28份,就不会多打印了。(输入份数的数字建议是双数)

辐射引领

【教学类-28-01】AB型图案排序涂色手工-python 学具(中班:偏美术和数学)相关推荐

  1. 【教学类-28-02】AB型图形-画排序描图-python 学具(中班:偏美术和数学)

    效果展示: 背景需求: 考虑到幼儿绘画能力的差异,在第1-2行的几何空心图案中,设计了两款: 简易版:是标准几何图案(圆形.三角.梯形.正方等),适合普通水平幼儿. 难度版:混合空心图案(在圆形等基础 ...

  2. 【教学类-32-02】十二生肖2.0版(绘画+手工+排序+左右分类+玩牌)(中班:偏科学-数)

    作品展示 2.0样式--动物头部方向随机向左.或者向右 背景需求 1.0样式--动物头部方向全部向右, 我希望孩子分类的时候还能够"判断生肖头部的方向做一个左右分类" 素材准备: ...

  3. 【教学类-32-01】十二生肖1.0版(绘画+手工+排序+分类+玩牌)(中班:偏科学-数)

    作品展示 背景需求--从数字到图片 最佳孩子们做Python纸类(数学)的频率比较高.但都是数字类(加减法.门牌号.火车箱.电话号码等)我想翻新花样,设计新的内容,就想到了水果图片.动物图片. 百度图 ...

  4. 【教学类-12-09】20230228《连连看竖版6*6 (3套题目空心图案(中班教学)》(中班主题《》)

    还有两周的带班,在中1班又试了一次6*6连连看活动 在前期实验基础上,对学具图案进行改良 1.把图案修改一下,图形来自搜狗输入法的符号(带圈数字全部删除,改成王冠等图案) 2.幼儿容易左右镜像的图案删 ...

  5. 【教学类-06-05】20220405 20以内加减法“从小到大排序题“(不重复题)(Python VS)

    前提需求: [教学类-07-02]20220330 5以内加减法不重复题 及生成word打印docx纸(方法二)(Python VS)_reasonsummer的博客-CSDN博客[教学类-07-02 ...

  6. 【教学类-19-03】20221127《ABBABB式-规律排序-A4竖版2份》(中班)

    展示效果: 单人使用样式: 单页打印样式 ​ 背景需求: 中班幼儿需要掌握ABBABB的排序规律 前文制作了ABCABC单元格色块,完全套用ABC排序word表格,调整python的代码,随机生成AB ...

  7. 【教学类-10-03】20230603《空心图案3*2-单元格不重复》( 随机图案拼贴)(中班主题)

    作品展示: 背景需求: 最近在做小课题结题资料,看到之前做过的几个学具项目,其中的空心图案拼贴画很不错(中班上学期做过)想到中6班的孩子还没有玩过,就想再打印一套学具(中班下学期做).再次做就把代码优 ...

  8. 【教学类-12-10】20230316《连连看竖版6*6 (3套题目空心图案)(中班主题《玩具总动员》)

    2023年2月28日在中1班做<练练看竖版6*6>,打印时失误,选择28份打印28份了,所以多打印了很多带有中一班字样的<连连看竖版6*6>学具 2023年3月16日,我在中6 ...

  9. 【教学类-19-02】20221127《ABCABC式-规律排序-A4竖版2份》(中班)

    展示效果: 单人使用样式: 单页打印样式 ​ 背景需求: 中班幼儿需要掌握ABCABC的排序规律 ​ 前文制作了ABAB单元格色块,微调word表格的列数,调整python的参数,随机生成ABC排序样 ...

最新文章

  1. mysql innodbmaxdirtypagespct_MySQL参数解析innodb_max_dirty_pages_pct
  2. iOS视频流采集概述(AVCaptureSession)
  3. OpenAI新研究:扩散模型在图像合成质量上击败BigGAN,多样性还更佳
  4. Python 技术篇-使用time库获取秒级时间戳、毫秒级时间戳实例演示
  5. python3 requests 动态网页post提交数据_Python爬虫三:动态网页爬虫
  6. 如何在myeclipse中导入jar包?
  7. 网站开发的小知识参考(慢慢收集备用)
  8. Codeblocks 中文乱码解决方法
  9. GridView页脚汇总(统计)行的方法(.net 2.0)
  10. android meminfo,Android中dumpsys meminfo与/proc/meminfo获取空闲内存不一致的问题
  11. Mapped Statements collection already contains value for*
  12. Django Ajax学习一
  13. python处理地震sac数据_自己开发的一个SEED格式地震数据转换为SAC格式数据,并完成世界时整天波形合并的Python脚本...
  14. Tera Term宏语言介绍
  15. 【论文阅读】医学图像分割
  16. 30个精美的简单网站
  17. 数据结构二:线性表的顺序结构实现
  18. mot文件解析成bin
  19. DeepFaceLab: 更新记录以及版本说明!
  20. 为Mac制作WTG的详细流程+制作工具

热门文章

  1. 【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南
  2. 纯CSS3实现写轮眼进化动画特效,在别的素材网站要20积分哟,不过我在这里的就直接免费输出了
  3. 周鸿祎:toG、toB流量将超过toC 大数据须运营安全两手抓
  4. idea java 远程调试_使用idea开启远程调试
  5. iOS开发网络篇 一一 请求路径(URL)中文转码问题
  6. 数据库系统概论---选择题刷题实训
  7. python自带的库有哪些_anaconda 包含哪些库?
  8. 可重入锁(ReentrantLock为例)
  9. 数据挖掘思维和实战17 实践 2:如何使用 word2vec 和 k-mean 聚类寻找相似的城市
  10. yum 安装 域名解析失败