【教学类-14-01】20221113《米罗连线图+图形数量统计6*6-2》(中班主题《》)

这篇博客介绍了如何使用Python随机生成图案,制作中大班幼儿的数学学习材料,包括图案涂色、连线和数量统计。活动中,孩子们通过找相同图案、涂色和连线来提升数学技能,并创作出类似米罗风格的抽象画。教学反馈显示,黑色记号笔连线更突出,彩色蜡笔有助于找寻图案,但也存在线条干扰统计的问题。作者反思了活动设计,提出减少连线、增大图案等改进措施,以增强幼儿的操作体验和统计准确性。
摘要由CSDN通过智能技术生成

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

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

教学要求: 

0、写学号

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

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

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

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

 背景需求:

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

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

WORD表格制作(在纵向A4)

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

 第2个

代码设计:

'''

作者:阿夏
时间:2022年11月13日
图案统计数量+米罗线条画 6*6*6(A4竖版)

'''

import os

num=int(input('生成多少份\n'))
Number=int(input('几个图案(6个)\n'))
size=int(input('图案大小(8*2 建议46)\n'))
height=int(input('表格长度(6格)\n'))
weight=int(input('表格宽度(6格)\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,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):   #多少份
    # word = gencache.EnsureDispatch('Word.Application')
    doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\统计数量\统计数量模板.docx')  
    # 第1个表格
    table = doc.tables[0]  
     
    # 先随机抽取8个一列  
    all=[]
    n = random.sample(list, Number)    # 24个里面随机抽取6个图案 输入到指定格子
    print(n) 
    
    for s1 in range(0,int(weight*height)):
        s2=str(random.choice(n))
        print(s2)
        all.append(s2)
    print(all)
    print(len(all))
       
    
    #  确定8*4表格的表格单元格坐标(如第1行第1格是0,0 ,第2行第3格是(1,2)   
    bg1=[]
    for x in range(0,height):
        for y in range(0,weight):
            ww1='{}{}'.format(x,y)
            bg1.append(ww1)
    print(bg1) 
    # ['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 t1 in range(0,len(all)):             # 图案的长度为8*4=32个    遍历0-32(32个)
        pp1=int(bg1[t1][0])          # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
        qq1=int(bg1[t1][1])          # 提取表格bg里面每个元素的第1个数字==单元格Y坐标  t=索引数字
        k1=all[t1]                  # 提取all图案列表里面每个图形  t=索引数字

        run=table.cell(pp1,qq1).paragraphs[0].add_run(k1)    # 在单元格0,0(第1行第1列)输入第0个图图案
        run.font.name = '黑体'#输入时默认华文琥珀字体
        run.font.size = Pt(size)  #输入字体大小默认30号
        run.font.color.rgb = RGBColor(200,200,200) #设置颜色浅灰
        r = run._element
        r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷
        table.cell(pp1,qq1).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中 


    bg2=[]
    # 第2个表格
    table = doc.tables[1] 

    bg2=[]
    for x in range(0,3):
        for y in range(0,3,2): # ['00', '02', '10', '12', '20', '22']
            ww2='{}{}'.format(x,y)
            bg2.append(ww2)
    print(bg2) 

     # 提取6个图案的长度
    for t2 in range(0,len(n)):             # 图案的长度为8*4=32个    遍历0-32(32个)
        pp2=int(bg2[t2][0])          # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
        qq2=int(bg2[t2][1])          # 提取表格bg里面每个元素的第1个数字==单元格Y坐标  t=索引数字
        k2=n[t2]                  # 提取all图案列表里面每个图形  t=索引数字

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

# # print('----------第5步:删除临时文件夹------------')    
import shutil
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-----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值