• 【教学类-14-01】20221113《图形数量统计6*6-2》(大班主题《》)


      效果展示——统计图+米罗线条画

    实际在中班操作,没有姓名,只有学号

    教学要求: 

    0、写学号

    1、涂色:把相同图案涂成一种颜色

    2、连线:用一根线条连接同一个图案(米罗星月夜风格》

    3、统计:图案涂色+记录数量

    4、核对:数量的答案在反面(现在还没有做这个代码)

     背景需求:

         中大班最常用一种数学习——数相同的图案数量,统计记录总数。

         将6*4横版连连看的代码微调,就实现了需要的效果。

    WORD表格制作(在纵向A4)

    普通输入(不需要用页眉)

     第2个

    代码设计:

    1. '''
    2. 作者:阿夏
    3. 时间:2022年11月13日
    4. 图案统计数量+米罗线条画 6*6*6(A4竖版)
    5. '''
    6. import os
    7. num=int(input('生成多少份\n'))
    8. Number=int(input('几个图案(6个)\n'))
    9. size=int(input('图案大小(8*2 建议46)\n'))
    10. height=int(input('表格长度(6格)\n'))
    11. weight=int(input('表格宽度(6格)\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. # 第1个表格
    38. table = doc.tables[0]
    39. # 先随机抽取8个一列
    40. all=[]
    41. n = random.sample(list, Number) # 24个里面随机抽取6个图案 输入到指定格子
    42. print(n)
    43. for s1 in range(0,int(weight*height)):
    44. s2=str(random.choice(n))
    45. print(s2)
    46. all.append(s2)
    47. print(all)
    48. print(len(all))
    49. # 确定8*4表格的表格单元格坐标(如第1行第1格是0,0 ,第2行第3格是(1,2)
    50. bg1=[]
    51. for x in range(0,height):
    52. for y in range(0,weight):
    53. ww1='{}{}'.format(x,y)
    54. bg1.append(ww1)
    55. print(bg1)
    56. # ['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']
    57. # 提取表格单元格坐标和图形的坐标
    58. for t1 in range(0,len(all)): # 图案的长度为8*4=32个 遍历0-32(32个)
    59. pp1=int(bg1[t1][0]) # 提取表格bg里面每个元素的第0个数字==单元格X坐标 t=索引数字
    60. qq1=int(bg1[t1][1]) # 提取表格bg里面每个元素的第1个数字==单元格Y坐标 t=索引数字
    61. k1=all[t1] # 提取all图案列表里面每个图形 t=索引数字
    62. run=table.cell(pp1,qq1).paragraphs[0].add_run(k1) # 在单元格0,0(第1行第1列)输入第0个图图案
    63. run.font.name = '黑体'#输入时默认华文琥珀字体
    64. run.font.size = Pt(size) #输入字体大小默认30号
    65. run.font.color.rgb = RGBColor(200,200,200) #设置颜色浅灰
    66. r = run._element
    67. r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
    68. table.cell(pp1,qq1).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
    69. bg2=[]
    70. # 第2个表格
    71. table = doc.tables[1]
    72. bg2=[]
    73. for x in range(0,3):
    74. for y in range(0,3,2): # ['00', '02', '10', '12', '20', '22']
    75. ww2='{}{}'.format(x,y)
    76. bg2.append(ww2)
    77. print(bg2)
    78. # 提取6个图案的长度
    79. for t2 in range(0,len(n)): # 图案的长度为8*4=32个 遍历0-32(32个)
    80. pp2=int(bg2[t2][0]) # 提取表格bg里面每个元素的第0个数字==单元格X坐标 t=索引数字
    81. qq2=int(bg2[t2][1]) # 提取表格bg里面每个元素的第1个数字==单元格Y坐标 t=索引数字
    82. k2=n[t2] # 提取all图案列表里面每个图形 t=索引数字
    83. run=table.cell(pp2,qq2).paragraphs[0].add_run(k2) # 在单元格0,0(第1行第1列)输入第0个图图案
    84. run.font.name = '黑体'#输入时默认华文琥珀字体
    85. run.font.size = Pt(size) #输入字体大小默认30号
    86. run.font.color.rgb = RGBColor(200,200,200) #设置颜色浅灰
    87. r = run._element
    88. r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
    89. table.cell(pp2,qq2).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
    90. doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\统计数量\零时Word\{}.docx'.format('%02d'%(z+1)))#保存为XX学号的电话号码word
    91. from docx2pdf import convert
    92. # docx 文件另存为PDF文件
    93. inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/统计数量/零时Word/{}.docx".format('%02d'%(z+1))# 要转换的文件:已存在
    94. outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/统计数量/零时Word/{}.pdf".format('%02d'%(z+1)) # 要生成的文件:不存在
    95. # 先创建 不存在的 文件
    96. f1 = open(outputFile, 'w')
    97. f1.close()
    98. # 再转换往PDF中写入内容
    99. convert(inputFile, outputFile)
    100. print('----------第4步:把都有PDF合并为一个打印用PDF------------')
    101. # 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
    102. import os
    103. from PyPDF2 import PdfFileMerger
    104. target_path = 'C:/Users/jg2yXRZ/OneDrive/桌面/统计数量/零时Word'
    105. pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
    106. pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
    107. pdf_lst.sort()
    108. file_merger = PdfFileMerger()
    109. for pdf in pdf_lst:
    110. print(pdf)
    111. file_merger.append(pdf)
    112. file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/统计数量/(打印合集)竖版 统计数量{}乘{}({}份).pdf".format(height,weight,num))
    113. file_merger.close()
    114. # doc.Close()
    115. # # print('----------第5步:删除临时文件夹------------')
    116. import shutil
    117. shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/统计数量/零时Word') #递归删除文件夹,即:删除非空文件夹

    重点说明:

    终端运行

     10个空心图案随机抽取6个

     第一个表格6*6内容的的写入

      

    第二个表格统计4*2内容的的写入 

     

    效果再显示——随机抽取6个图案,每个图案出现数量不等

    教学活动展示

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

    班级:中3班

    人数:26人

    1、找相似图案、勾边、涂色、连线

     2、点数数量——数数有几个同色同款图形

     

     3、幼儿说:“我要先连连看,然后再涂颜色”

     4、“老师,看我找到了6个”

     “我写了3,有3个三角形”

     5、蜡笔、记号笔的综合 使用(勾边或涂色、连线)

     6、用黑色记号笔连线

     

     

     7、图案有边框的效果更突显

     8、把记号笔黑色作为一种涂色的颜色

     9、黑线多了就密密麻麻了。 

     

      10、记号笔和蜡笔连的线条交叉较少,画面看上去整洁。

     11、记号笔勾边、连线,图案相对清晰了

    如果涂色了应该更容易区别图形。

    12、我已经算好了(数量),我不想连线!——涂色精准性强(没有超出范围),点数正确。

    作品分析:(26人,实收25人26张,缺一份)

    幼儿从左到右、从上到下,查找相同的图形,然后连线涂色、涂色连线、勾边连线涂色

    (1)完成涂色的数量:11位幼儿涂完所有的图案颜色。11位幼儿涂完50%的图案颜色。 2位幼儿涂了不超过10个图案,2位幼儿涂黑

    (2)连线工具及颜色:12位幼儿用记号笔黑色连线,9位幼儿用蜡笔彩色连线、2位没有连线(1位不会画连线、1位表示不需要连线)、2位涂黑、

    黑色记号笔连线

     蜡笔同色连线

     (3)图案记号笔勾边:5位幼儿用记号笔对灰色图案进行勾边,让图案看上去外形更明显。

     

    (4)图案数量统计:14位幼儿在统计表内写了数字(无论是否正确),其中9位幼儿写满了6个格子(无论是否正确)、7位幼儿写了1-3个格子(无论是否正确)

     

     由于很多原始灰色图案的形状被蜡笔涂色遮盖,或者被勾边线条重新改变外形,或者被加黑色连线彩色连线干扰实现。所以很难真的数出幼儿是否统计正确。因此这里进行核对。

    《米罗星空图》的创想

    幼儿园曾经开展过一个《米罗-星空》的集体教学活动,幼儿将各种圆点用线条连接起来(流星划过)。

    当我把《图形数量统计图》的图形用不同颜色线条连接起来后,感觉有几分像《星空》哦!

    来看看中班孩子们对6款图形的涂色及连线组成的《星空》图吧!

    感悟:

    1、利用Python随机抽取重复图形的代码,可以在6*6单元格内随机分布各种图形。通过涂色和连线,可以组成不同的颜色的连线。组成抽象画作。

    2、从画面效果看,黑色记号笔连线比蜡笔连线更醒目,中性色(黑色)线条让散状分布的图形产生连接,实现“点、线”、”红黄绿黑白“结合的画面效果。

    3、从统计角度来看,彩色蜡笔连线有助于幼儿通过彩色连线分别寻找到图案相同的图形。

    4、有一位幼儿说自己可以不用连线,就能数清楚数量。

    后续思考:

    (1)过多的连线线条,对与幼儿找寻图案数量也有干扰(5位幼儿只画了两2-3种图案的连线,更多的就看不清楚了。)——6*6变成5*5,4*4,图案变大,连线减少,更便于统计。

    (2)图案有点小,不少幼儿涂色容易到外圈。涂色练习少的男孩受不了这种精细操作,直接记号笔把整块涂鸦了。但是他们也知道自己画的不好看,因此都偷偷藏到抽屉里,或要求直接拿回去。——6*6变成5*5,4*4,图案变大,便于幼儿大面积涂色。

    (3)提示数字的用途:主要用途——提示不记得0-9的数字怎么画的幼儿根据这些提示写统计里的图案总数。

    1)学号参考:实际教学中,两位幼儿不会画学号,我就圈出“统计旁边的相应数字,提示他们照着抄画。但2位幼儿依旧不知如何抄,要求老师帮助,最后老师握着他们的手,他们才画出数字——练的少,缺乏自信,还不敢抄学号。

    2)计数参考:对于一些会写数字,但不记得数字外形的孩子来说,统计旁边的数字有一定的提示参考作用(教师提示幼儿去抄某个数字),幼儿自己看了一组数字也不知道哪一个是自己需要的数字(用处不大),需要老师指定正确数字才敢抄写。

    3)描画需求:有1位女孩用记号笔把整页上所有的灰色数字、汉字都描了一遍(第一行抬头、第三行的统计1234567890),描画小的字体也是一种练习手臂肌肉的好方法。

     ---end-----

  • 相关阅读:
    ARM寄存器及功能介绍/R0-R15寄存器
    centos7搭建EFK日志收集系统
    LeetCode-77-组合-回溯算法
    SeeOD应用:He-Ne激光束聚焦物镜设计
    同一台电脑安装多个版本的idea开发工具
    Linux_包管理_apt和apt-get、apt upgrade会自动升级内核
    解决ul元素不能跟div同一行显示的办法
    hadoop集群搭建
    windows上 adb devices有设备 wsl上没有
    Linux bash脚本编程学习
  • 原文地址:https://blog.csdn.net/reasonsummer/article/details/127836030