效果展示

背景需求:

前期制作了《连连看8*4-不重复16个)《连连看12*4-不重复24个)

问题分析:

《连连看8*4-不重复16个)《连连看12*4-不重复24个)采用的是无word模板,按“四列”依次插入图案的方法——第1列8个图案纵向排列完成后,再进入第2列插入8个图案,依次类推。这种方法存在3个问题

1、纵向连线:中文阅读的顺序是从左到右,并非从上到下,可能会导致幼儿视觉混乱

2、图案较多:8个、12个图案配对,连线密集,容易交叉,不容易辨认线条。

3、缺少分割:8*4列图案,中间没有没有分割线,光看图案,并不知道是第1列与第2列的连线,第3列与第4列连线

因此我希望运用预设的Word表格,横向插入2组配对图案。

WORD表格制作

设置每个格子的高度和宽度。都是4.6*3.45

把边框设为3磅黑色,中间一些细线全部取消(隐藏掉),让连线的空间的大一点。

图案的位置:第1、3行的图案置于表格顶端。

图案的位置:选中第2、4行的所有表格,在布局里把图案置于表格底端。

生成的效果

代码设计:

'''作者:阿夏
时间:2022年11月7日连连看(A4横板)8*4,两套题)
(A4横排8*4张表格框横纵向中间横剪切))
'''import osnum=int(input('生成多少份\n'))
Number=int(input('每页制作多少个(16个)\n'))
size=int(input('图案大小(8*4 建议70)\n'))
length=int(input('表格长度(8格)\n'))
weight=int(input('表格宽度(4格)\n'))print('----------第1步:提取所有图案------------')
list=['✿','☸','✪','☁','➹','✈','☂','☃','◐','☼','☯','◎','❤','♨','☋','♘','★','♫','❀','〼','✉','☏','♕','♖']print(len(list))# 一共24个图案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,timeimport 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 qnfrom docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColorfor z in range(0,num):   #多少份# word = gencache.EnsureDispatch('Word.Application')doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\连连看\练练看框架模板.docx')  table = doc.tables[0]   # 先随机抽取8个一列  all=[]n1=[]n2=[]n3=[]n4=[]n = random.sample(list, Number)    # 24个里面随机抽取16个放入一个组nn# print(n) # 第1行:for n1 in n[0:int(Number/2)]:     #   16个里面的1-8个,提取单独数n3.append(n1)all.append(n1)  # 第1轮8个添入总列表  (插入Word第1行)# 第2行:o1 = random.sample(n3, int(Number/2))    # 第1轮8个再随机打乱一次,不重复抽取for b in o1:all.append(b)#第1轮8个乱序排列不重复(插入Word第2行)# print(all)# 第3行:for n2 in n[int(Number/2):Number]:  #16个里面的9-16个,提取单独数n4.append(n2)all.append(n2)   # 做第4列的乱序用    # 第4行:o2 = random.sample(n4, int(Number/2))    # 第2轮8个再随机打乱一次,不重复抽取for b in o2:all.append(b)#第2轮8个乱序排列不重复(插入Word第4列)    print(all)# ['☃', '〼', '❤', '♕', '♫', '✈', '✿', '☸', '♫', '❤', '〼', '✈', '☃', '✿', '♕', '☸', '✪', '☁', '✉', '◎', '♖', '☼', '★', '☋', '♖', '☁', '☼', '☋', '✉', '◎', '✪', '★']#  确定8*4表格的表格单元格坐标(如第1行第1格是0,0 ,第2行第3格是(1,2)   bg=[]for x in range(0,weight):for y in range(0,length):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']# 提取表格单元格坐标和图形的坐标for t in range(0,len(all)):             # all图案的长度为8*4=32个    遍历0-32(32个)pp=int(bg[t][0])          # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字qq=int(bg[t][1])          # 提取表格bg里面每个元素的第1个数字==单元格Y坐标  t=索引数字k=all[t]                  # 提取all图案列表里面每个图形  t=索引数字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(200,200,200) #设置颜色浅灰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\桌面\连连看\零时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/桌面/连连看/(打印合集)横版合并代码 连连看{}乘4({}份).pdf".format(int(Number/2),num))
file_merger.close()
# doc.Close()# # print('----------第5步:删除临时文件夹------------')
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/连连看/零时Word') #递归删除文件夹,即:删除非空文件夹

重点说明:

终端运行

图案列表的生成

Word表格单元格坐标(XY)的索引数的生成

如何将单个图案输入到指定的Word表格单元格内

效果再显示:

感悟:

1、核心代码:表格单元格索引的确定

掌握了Word表格单元格的数字、图案、文字输入的方法,可以对“练练看Word模板”进行千变万化板式设计。

2、框线定位:线条隐藏与题目组合

表格边框线条的隐藏(空白),增加操作的空间(没有线条干扰视线、多一点画线的空间),

表格线条加粗(框线分割),减少理解上的迷惑(谁和谁连接?怎么玩),通过加粗线让题目分开、自动组合,快速理解。

  

3、色彩变浅:凸显结果提供描画机会。

1、连线:可以凸显幼儿自己绘画线条的颜色,容易辨认操作的结果。

2、描画:孩子们用铅笔、记号笔描画(部分孩子喜欢描图)

3、环保:灰色能够节省打印油墨。

总结:利用word模板(带表格单元格、框线)和py索引代码可以更直接的指向中、大班学习内容本身,比分列纯图案输入更有价值。

教学活动照片展示:

【教学类-12-03】20221106《连连看横版8*4(2套题目 适合中班))(中班主题《我们的城市》)相关推荐

  1. 【教学类-12-07】20221110《连连看 横版4*2*4(4套题目,适合小班)》(小班主题《娃娃家》)

    效果展示 背景需求: 前期对小班制作了适合的练练看,6*6版3套题.这是竖版的 如果制作横板的会怎么呢? WORD表格制作(在横板A4) 把8*4表格,通过十字分割,变成4*2的连连看4套 代码设计: ...

  2. 【教学类-12-05】20221107《连连看横版8*4(1套模板+1套幼儿自绘)适合中班大班)(大班主题《我们的城市》)

    效果展示 背景需求: 通过word表格单元格的索引取值,实现了对"练练看"的各种模板的配对图形(组)的输入. 适用性思考: 1.8*2一组的练练看,相对比较简单,更适合小班幼儿操作 ...

  3. 【教学类-12-06】20221108《连连看竖版6*6(3套题目符号图案,适合小班)》(小班主题《娃娃家》)

    效果展示 背景需求: 前期对A4横板的"练练看"进行了8*4.8*2的设置,感觉有时候线条之间也会有交叉,容易看不清. 适用性思考--小班( 纵向排版) 1.如果图案少一点,交叉的 ...

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

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

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

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

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

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

  7. 【教学类-07-03】20221106《破译电话号码-图形版(2类)+自制(PDF打印)》(大班主题《我要上小学》)

    效果图 1.PDF合并打印版本 2.第1个号码用"黑色圆圈替代" 3.第2个号码用各种"几何实心图案" 4.第3个号码幼儿自己尝试编写. 背景需求: 2022年 ...

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

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

  9. 【教学类-34-01】拼图(运动项目-长方块拼图)3*4格子(中班主题《个别化拼图》健康偏艺术-美术)

    背景需求: 一个月的Python纸类学具研究中,我发现个别男孩喜欢把作业中的数字.图案.单元格剪成小块(小卡片) 近年几周,剪条.剪块的孩子人数也慢慢递增.(分发时有点麻烦) 幼儿需求:锻炼手指精细动 ...

最新文章

  1. YOLOv4中的tricks概念总结——Bag of freebies
  2. 脚本语言lua笔记(5)c++调用lua
  3. redhat7防火墙关闭_RedHat Enterprise Linux 7关闭防火墙方法
  4. linux删除缓存脚本,Linux 设置定时清除buff/cache的脚本
  5. JS学习之Node类型
  6. C#指针使用学习总结
  7. 蚂蚁从飞机上掉下来的数学建模分析
  8. 判定两个tensor维度相同_Tensorflow源码解析5 -- 图的边 - Tensor
  9. DDD理论学习系列(8)-- 应用服务amp;amp;领域服务
  10. JVM 内存示意图(内存结构图/内存解析图)
  11. hadoop mapreduce lzo
  12. 【微信小程序】微信Web开发者工具下载及安装
  13. Windows CMD常用命令大全(值得收藏)
  14. 本地搭建mysql数据库
  15. VOC2007数据集
  16. OPNsense用户手册-用户管理
  17. 腾讯越来越不懂游戏了
  18. 学好Python的优秀资源推荐
  19. html 动态加载的菜单 当菜单点击一下,打开接着又关闭
  20. Springboot RestTemplate post/get请求所有情况

热门文章

  1. CentOS时间、日期、计算器命令
  2. 如何拿下BAT:我的学习路线(C/C++)
  3. java 自定义异常错误编码
  4. H5 通用收银台实战总结
  5. Linux智能手表的浪潮即将向我们袭来
  6. 如何在php中使用jsp,JSP/PHP运用详解
  7. 文件+树,图书目录管理系统
  8. Zookeeper-03-ZK的ZAB协议和工作原理
  9. 华三AC+AP部署无线基本配置(华三AC配置)
  10. 第九届“中兴·图灵杯”人工智能程序设计大赛圆满落幕