【教学类-13-02】20221115《数字色块图5*7*8-A4横板-竖切》(中班主题《》)

  效果展示

打印效果图、中间剪开成2分(浅蓝色纸)

 背景需求:

   前期中3班制作5*7 *9张数字图,发现三个问题:

1、数量太多,填不完——每人9张调整为每人4张(一张A4两份作业)

2、数字太浅,看不清——5*7的提示数字是灰色,数字一多,部分幼儿看不清楚。就直接涂色了。

3、数字太像:搞不懂——对于8和3、5和6、5和3等外形相似的图形,2和5、6和9等镜像数字,幼儿视觉敏感度有差异,部分孩子不容易搞清楚。

4、数字相同:填同色——有两份作业里面全是数字5,幼儿无法画两种颜色,只能涂一种色

5、1的迷惑:幼儿对花体字的1(上有勾,下有横线)有异议:这个是1吗?

WORD表格制作(在横向A4 中间画切割线)

页眉写入个人信息

  4分栏

  表格参数  

 两个表格中间的段落间距 

切割线(插入图形,线条,拉一条蓝色线,线条颜色改为黑色)

代码设计:

'''

作者:阿夏
时间:2022年11月11日数字像素图(A4横板5*7 8个表 中间一切二竖切)
(A4横板排5*7*8 每套两个数字涂成不同的颜色 ))
'''

import os,random

num=int(input('生成多少份\n'))
Number=int(input('抽取几个数字(10个数字中取横板8个(4个一组)\n'))
size=float(input('数字大小(最大28,建议25)\n'))
weight=int(input('表格宽度(5格)\n'))
height=int(input('表格长度高度(7格)\n'))

print('----------第1步:提取所有图案------------')

import random
# m数字位置上的数字


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):   #多少份  

    m=str(random.randint(0,1)) # 涂色部分数字,数字小 0和1(小数)(只有用0的画,有大量重复,所以加了1)
    n=str(random.randint(2,9)) # 非涂色部分数字,2,3,4,5,6,7,8,9  (大数)

    N=[]
    def same():
        for r in range(0,len(nn)):
            nn1=int(nn[r][0])
            nn2=int(nn[r][1])
            for nnn in range(nn1,nn2):
                N.append(n) 

            mm1=int(mm[r][0])
            mm2=int(mm[r][1])
            for mmm in range(mm1,mm2):
                N.append(m)
    # print(N)

    # 数字1 的坐标位置列表值
    nn=['07','04','04','04','04','07']
    mm=['01','01','01','01','01','00']
    same()

    # 数字2 的坐标位置列表值
    nn=['06','04','02','02','04','06']
    mm=['03','01','03','01','03','00']
    same()

    # 数字3 的坐标位置列表值
    nn=['06','04','02','04','02','06']
    mm=['03','01','03','01','03','00']
    same()

    # 数字4 的坐标位置列表值
    nn=['06','01','02','01','02','01','02','03','06']
    mm=['01','01','01','01','01','01','04','01','00']
    same()

    # 数字5 的坐标位置列表值
    nn=['06','02','04','04','02','06']
    mm=['03','01','03','01','03','00']
    same()

    # 数字6 的坐标位置列表值
    nn=['06','02','04','02','01','02','06']
    mm=['03','01','03','01','01','03','00']

    # 数字7 的坐标位置列表值
    nn=['06','04','04','04','04','06']
    mm=['03','01','01','01','01','00']
    same()

    # 数字8 的坐标位置列表值
    nn=['06','02','01','02','02','01','02','06']
    mm=['03','01','01','03','01','01','03','00']
    same()

    # 数字9 的坐标位置列表值
    nn=['06','02','01','02','04','02','06']
    mm=['03','01','01','03','01','03','00']
    same()

    # 数字0 的坐标位置列表值
    nn=['06','02','01','02','01','02','01','02','06']
    mm=['03','01','01','01','01','01','01','03','00']
    same()

    Nall=[] # [[],[],[]]的样式

    for aaa in range(0,int(len(N)/int(weight*height))):    # 把35*10个数字,分割成35一组,35一组,一共10组(0-9)
        aaaa=(N[aaa*int(weight*height):aaa*int(weight*height)+int(weight*height)])
        Nall.append(aaaa)        # 10组的35个数字
    print(Nall)
    nine=random.sample(Nall,Number)      # 从10个中间随机抽9组(排序打乱,数字会少一个)
    print(nine)

    doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\像素图\数字像素图横板8个竖切.docx') 

    for numbg in range(0,len(nine)): # [[],[],[]]的样式的索引数字
    #     print(num1)
        NUMnum=nine[numbg]
        print(NUMnum)      

    #  确定8*4表格的表格单元格坐标(如第1行第1格是0,0 ,第2行第3格是(1,2)   
        bg=[]
        for x in range(0,height):
            for y in range(0,weight):
                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']
    # 提取表格单元格坐标和图形的坐标
    
        table = doc.tables[numbg]          # 一共有9个表格        

        for t in range(0,len(NUMnum)):             # 图案的长度为8*4=32个    遍历0-32(32个)
            pp=int(bg[t][0])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
            qq=int(bg[t][1])
            k=NUMnum[t]                  # 提取list图案列表里面每个图形  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(size)  #输入字体大小默认30号
            run.font.color.rgb = RGBColor(100,100,100) #设置颜色10%黑色=深灰
            
            r = run._element
            r.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/桌面/像素图/(打印合集) 中3班 像素图数字横版竖切{}乘{}乘8个({}份).pdf".format(weight,height,num))
file_merger.close()
# doc.Close()

# # print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/像素图/零时Word') #递归删除文件夹,即:删除非空文件夹

重点说明:

1.终端运行

 从抽取9个数字变成抽取8个数(两份)

2.把”勾1 “改成普通的”竖1“

勾1代码和样式

  

3.把单元格两种数字的颜色变成深,醒目一点。

 

竖版9张的数字题里面颜色是200(浅灰色),幼儿看不见。把3个数值降低,就会逐渐变黑

如果改成0,0,0就是纯黑色

 4.单元格数字的内容,排除外形近似数字(镜像、重复)

内圈数字(小数字)只有0、1

外圈数字(大数字)2、3、4、5、6、7、8、9

其他重点代码与数字图5*7*9的内容一样。不赘述。

效果再显示——0-9随机抽取9个数字,排序打乱

教学活动展示

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

班级:中3班

人数:24人

学习过程:

 

 

  

作品展示:

 

 

作品分析:

1、完成度:”出数字率“提高(17人)

17位幼儿作品中出现了至少1个数字,其中11位完成了4张图、3位2图、2位1图、1位1图。

其中2人是教师指导(用了浅色涂整个块面,所以提示他们用黑色把数字显出来)

学具的要素调整(数字的内容、数字的色彩、图片数量)后,加上第二次操作,幼儿的完成度更高。

 2、纯涂色:少量幼儿点、线、面涂色(3人)

三位女孩(同组)点状涂色、线条、块面涂色。

第一位:红色面涂色:由于涂色用了深色、已经无法看到内部的数字,无法再提示她观察不同的数字,并用黑色涂色。

第二位:点状涂色:运用各种颜色涂单元格的色点。(讲解后幼儿不理解意图,教师支持幼儿自己探索涂色方法)

第三位:点线涂色:涂单元格电子和垂直线条。(讲解后幼儿不理解意图,教师支持幼儿自己探索涂色方法)

因为是同组,幼儿互相观摩后,基本都是点、线、面的涂色。

3、写字:幼儿练习描画学号(6人)

 每份作业我都很强调“学号”——拿到作业第一步需要干什么呢?没有学号作业没法还给你们。

前期有3位孩子在操作学具时,求助老师帮助自己写学号(有几个写了,但是看不懂、会写的孩子中也有大量的镜像数字,需要再次询问甄别),于是我连夜写了一套中3班的学号描字帖

本来学号描字帖是准备单独一次活动进行练习。但是想到有些孩子的学号写的很漂亮,并不需要练习,加上昨天刚画过数字涂5*7(9张),可能有些孩子不愿意再画数字涂5*7*4张。于是“数字题5*7*4”教学活动时,我把两套学具都拿出来,鼓励孩子自主选择学具方式,——“想玩数字图的举手”(14人)“”想练一练学号的举手”(8人)

4人位男孩和1位女孩主动搜索自己的描字帖(28号14号17号16号5号)24号男孩不会画学号也没有选择任何教具,教具单独交流鼓励他进行描画练习。

  6位描字帖的孩子中,可以看到一个特点:

无描字经验:

第1位幼儿24号,前期没有描学号的任何经验,数字跳着写。每个数字的绘画顺序是从右向左(先4后2),先下后上(4:先画竖线,且从下向上画竖线,从右向左画横斜线,2,从下向上画),由于不知道如何运笔,幼儿画了几个数字后,就不愿意反复练习。

有描字经验:

第2-6位幼儿,书写顺序基本都是从上到下,从左边到右边。显然已经有描字的经验。1位幼儿(26)直接在姓名位置写上自己的名字。1位幼儿I参照打印的名字,画了自己名字中的部分字和部首。三位幼儿用铅笔或记号笔描画了字帖里的四个名字。

  (17号幼儿描了字帖、也画了数字图)

感悟:

实践出真知,幼儿的学习表现对于优化Python纸类学具有重要的影响,从幼儿发展优先的角度出发,Python学具实现了教师隐性的需求:“让每个孩子都有事做(不要扰乱课堂)”,从而有机会观察幼儿之间的能力分层,并有时间指导个别幼儿提升观察、涂色能力

数量上看:可以提供适合的基础题量,让大部分幼儿完成基础的教果,提供多份学具,便于幼儿自主选择自己的需求(涂色还是描字)

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿夏reasonsummer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值