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


     效果展示

    背景需求:

    通过word表格单元格的索引取值,实现了对”练练看“的各种模板的配对图形(组)的输入。

     

    适用性思考:

    1、8*2一组的练练看,相对比较简单,更适合小班幼儿操作。

    2、考虑到中、大班幼儿的年龄特点,我希望增加一定的挑战,鼓励幼儿自己绘制”连连看图形“

    思路:

    因此将第二套题目位置上的图案全部删除,留空白。

    WORD表格制作(在8*4横向模板一份表格的基础上)

    新建并插入表格,合并表格 

     设置布局高度

     

     

     设置灰色1磅框线+部分框线隐藏

     

      

     制作粗线分割线

     

     

     

     

     画一个大框粗线,中间的粗线

     文字位置设置

     图案布局位置:(因为只有1套题目,只需要第1行置顶居中) 

     

     

     

      模板样式:

     代码设计:

    1. '''
    2. 作者:阿夏
    3. 时间:2022年11月7日连连看(A4横板)8*4,1套连线,1套自绘)
    4. (A4横排8*4张表格框横向中间横剪切))
    5. '''
    6. import os
    7. num=int(input('生成多少份\n'))
    8. Number=int(input('每页制作多少个(16个)\n'))
    9. size=int(input('图案大小(8*2 建议60)\n'))
    10. length=int(input('表格长度(8格)\n'))
    11. weight=int(input('表格宽度(2格)\n'))
    12. print('----------第1步:提取所有图案------------')
    13. list=['✿','☸','✪','☁','➹','✈','☂','☃','◐','☼','☯','◎','❤','♨','☋','♘','★','♫','❀','〼','✉','☏','♕','♖']
    14. print(len(list))# 一共24个图案
    15. print('----------第2步:新建一个临时文件夹------------')
    16. # 新建一个”装N份word和PDF“的文件夹
    17. os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\连连看\零时Word')
    18. print('----------第3步:随机抽取8个不重复的图案 ------------')
    19. import random
    20. from win32com.client import constants,gencache
    21. from win32com.client.gencache import EnsureDispatch
    22. from win32com.client import constants # 导入枚举常数模块
    23. import os,time
    24. import docx
    25. from docx import Document
    26. from docx.shared import Pt
    27. from docx.shared import RGBColor
    28. from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
    29. from docx.oxml.ns import qn
    30. from docxtpl import DocxTemplate
    31. import pandas as pd
    32. from docx2pdf import convert
    33. from docx.shared import RGBColor
    34. for z in range(0,num): #多少份
    35. # word = gencache.EnsureDispatch('Word.Application')
    36. doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\连连看\练练看框架模板(自制).docx')
    37. table = doc.tables[0]
    38. # 先随机抽取8个一列
    39. all=[]
    40. n1=[]
    41. n2=[]
    42. n3=[]
    43. n4=[]
    44. n = random.sample(list, Number) # 24个里面随机抽取16个放入一个组nn
    45. # print(n)
    46. # 第1行:
    47. # 第1行:
    48. for n1 in n[0:int(Number/2)]: # 16个里面的1-8个,提取单独数
    49. n3.append(n1)
    50. all.append(n1) # 第1轮8个添入总列表 (插入Word第1行)
    51. # 第2行:
    52. o1 = random.sample(n3, int(Number/2)) # 第1轮8个再随机打乱一次,不重复抽取
    53. for b in o1:
    54. all.append(b)#第1轮8个乱序排列不重复(插入Word第2行)
    55. print(all)
    56. # # 第3行:
    57. # for n2 in n[int(Number/2):Number]: #16个里面的9-16个,提取单独数
    58. # n4.append(n2)
    59. # all.append(n2) # 做第4列的乱序用
    60. # # 第4行:
    61. # o2 = random.sample(n4, int(Number/2)) # 第2轮8个再随机打乱一次,不重复抽取
    62. # for b in o2:
    63. # all.append(b)#第2轮8个乱序排列不重复(插入Word第4列)
    64. # print(all)
    65. # ['☃', '〼', '❤', '♕', '♫', '✈', '✿', '☸', '♫', '❤', '〼', '✈', '☃', '✿', '♕', '☸', '✪', '☁', '✉', '◎', '♖', '☼', '★', '☋', '♖', '☁', '☼', '☋', '✉', '◎', '✪', '★']
    66. # 确定8*4表格的表格单元格坐标(如第1行第1格是0,0 ,第2行第3格是(1,2)
    67. bg=[]
    68. for x in range(0,weight):
    69. for y in range(0,length):
    70. ww='{}{}'.format(x,y)
    71. bg.append(ww)
    72. print(bg)
    73. # ['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']
    74. # 提取表格单元格坐标和图形的坐标
    75. for t in range(0,len(all)): # 图案的长度为8*4=32个 遍历0-32(32个)
    76. pp=int(bg[t][0]) # 提取表格bg里面每个元素的第0个数字==单元格X坐标 t=索引数字
    77. qq=int(bg[t][1]) # 提取表格bg里面每个元素的第1个数字==单元格Y坐标 t=索引数字
    78. k=all[t] # 提取all图案列表里面每个图形 t=索引数字
    79. run=table.cell(pp,qq).paragraphs[0].add_run(k) # 在单元格0,0(第1行第1列)输入第0个图图案
    80. run.font.name = '黑体'#输入时默认华文琥珀字体
    81. run.font.size = Pt(size) #输入字体大小默认30号
    82. run.font.color.rgb = RGBColor(200,200,200) #设置颜色浅灰
    83. r = run._element
    84. r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
    85. table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
    86. doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\连连看\零时Word\{}.docx'.format('%02d'%(z+1)))#保存为XX学号的电话号码word
    87. from docx2pdf import convert
    88. # docx 文件另存为PDF文件
    89. inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/连连看/零时Word/{}.docx".format('%02d'%(z+1))# 要转换的文件:已存在
    90. outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/连连看/零时Word/{}.pdf".format('%02d'%(z+1)) # 要生成的文件:不存在
    91. # 先创建 不存在的 文件
    92. f1 = open(outputFile, 'w')
    93. f1.close()
    94. # 再转换往PDF中写入内容
    95. convert(inputFile, outputFile)
    96. print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    97. # 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
    98. import os
    99. from PyPDF2 import PdfFileMerger
    100. target_path = 'C:/Users/jg2yXRZ/OneDrive/桌面/连连看/零时Word'
    101. pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
    102. pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
    103. pdf_lst.sort()
    104. file_merger = PdfFileMerger()
    105. for pdf in pdf_lst:
    106. print(pdf)
    107. file_merger.append(pdf)
    108. file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/连连看/(打印合集)横版合并代码(自制) 连连看{}乘{}({}份).pdf".format(length,weight,num))
    109. file_merger.close()
    110. # doc.Close()
    111. # # print('----------第5步:删除临时文件夹------------')
    112. import shutil
    113. shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/连连看/零时Word') #递归删除文件夹,即:删除非空文件夹

    重点说明:

    终端运行

     图案列表的数量(只要两行8*2个=16个,隐藏第3-4列)

       图案列表的生成Word表格单元格坐标(XY)的索引数的生成(只有两行)

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

    效果再显示:

      感悟:

    1、框线定位:便于幼儿确定图案绘画的区域

    灰色1磅框线,可以让幼儿知道图案所处位置空间,从而能控制图案的大小。画一样的2个图案对幼儿来说有挑战。

     2、增加标题、姓名、学号、班级

    引导幼儿产生先写个人信息的意识(不写名字和学号,就是0分,没有学号名字,这张纸就没法回到你的手里了!)

     总结:从连线、描图、到自己绘画喜爱的图案、增加层次性、拉平幼儿之间的速度差异。

    教学活动照片展示:

  • 相关阅读:
    Mybatis缓存
    git使用及常用命令
    GBASE 8s 自定义存储过程和函数使用
    java计算机毕业设计数据分析星辰网智能手机销售网站源码+mysql数据库+系统+lw文档+部署
    快速排序算法
    现代循环神经网络-门控循环单元(GRU)
    【linux外设挂载】linux系统找到U盘解决方案
    虹科分享 | 网络仿真器 | 预测云中对象存储系统的实际性能
    几道毒瘤微积分题
    云计算的一些常见安全风险
  • 原文地址:https://blog.csdn.net/reasonsummer/article/details/127785288