【教学类-35-02】学号+姓名+班级(小2班)学号字帖(A4横版2份)

文章讲述了作者使用Python脚本自动生成小班学号字帖的过程,包括从Excel数据导入、创建Word文档模板,以及考虑到幼儿的镜像视力问题。同时,文中记录了幼儿初次接触学号纸学具后的操作活动,如折纸、书写练习和作品展示,反映出教师如何根据幼儿能力设计教学材料。
摘要由CSDN通过智能技术生成

图片展示:

背景需求:

突然接到通知,明天下午临时去带小2班。

小班刚入园的孩子,能给他们提供什么样的可操作的学具呢?

思来想去,还是让生成一份学号字帖,让幼儿熟悉自己的学号,让我也熟悉幼儿的名字和学号

材料准备:

描字写(学号、名字)非常实用,所以我已经写了很多很多个WORD模板了。

为了区分,这一次又建了一个文件夹 20230913小班学号描字帖。

包含素材:

WORD模板样式

EXCEL名单样式

代码展示:

1.py位置

2.代码段

'''

作者:阿夏
时间:2023年9月13日
A4横版两人,每人三行

'''

import xlwt
import xlrd
import os
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

# hs=int(input('一行2个,需要几行(1行,还有6行是表格)\n'))

print('----------第1步:新建一个临时文件夹------------')
# 新建一个”装N份word和PDF“的文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word')


wb= xlrd.open_workbook(r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\20230913小2班学号描字帖\学生名单.xlsx") #打开文件并返回一个工作蒲对象。open_workbook可以点进去看看函数里面的参数的含义之类的,很详细,英语不好的可以百度翻译,翻译出来的结果差不多。
sheet=wb.sheet_by_index(0)   #通过索引的方式获取到某一个sheet,现在是获取的第一个sheet页,也可以通过sheet的名称进行获取,sheet_by_name('sheet名称')
col1=sheet.col_values(0)# 学号
col3=sheet.col_values(1)# 班级

col2=sheet.col_values(2)# 名字
num=len(col1)-1  # 第一列去掉第一行
# for z in range(0,num):   #多少份  
# list=[]
# nb=[]
# nb2=[]
numberall=[]
# 生成 基本组:“学号+名字“
for num in range(1,len(col1)):
   
    name00=col2[num]     #吧学号和名字拼在一起, 张三
    numberall.append(name00)
    name01=col3[num]     #吧学号和名字拼在一起, 张三
    numberall.append(name01)
    # print(name00)
    for x in range(13):
        number=int(col1[num])     #吧学号和名字拼在一起, 张三
        numberall.append(number)
print(numberall)
# 一个数组【】

# 切开25人 一人15个数字
list1=[]
for fk in range(int(len(numberall)/15)):    # 一共15格子
    list1.append(numberall[fk*15:fk*15+15])
# print(list1)
# print(len(list1))

list=[]
for r in range(int(len(list1)/2)):
    list.append(list1[r*2:r*2+2])
print(list)
print(len(list))


# 25个数组【】

#单元格坐标
bg=[]
for x in range(3):
    for y in range(5):
        z2='{}{}'.format(x,y)
        bg.append(z2)

# ['00', '01', '02', '03', '04', '10', '11', '12', '13', '15', '20', '21', '22', '23', '24']

for n in range(int(num/2)):
    doc = docx.Document(r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\20230913小2班学号描字帖\小2班描字帖.docx")
    for b in range(2):
        table = doc.tables[b] 
        # print(p)
        for t in range(len(bg)):    # 0-15
            # print(list[t])
                        
            pp=int(bg[t][0])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
            qq=int(bg[t][1]) 
            k=list[n][b][t]
            # f=font[t]   

            print(pp,qq,k)

            run=table.cell(pp,qq).paragraphs[0].add_run(str(k))    # 在单元格0,0(第1行第1列)输入第0个名字
            run.font.name = '楷体'  #输入时不同字体
            run.font.size = Pt(55)  #输入字体大小80或68号
            run.bold=True
            run.font.color.rgb = RGBColor(200,200,200) #设置颜色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'%n))#保存为XX学号的零时word  

    from docx2pdf import convert
    # docx 文件另存为PDF文件
    inputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word\{}.docx".format('%02d'%n)# 要转换的文件:已存在
    outputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\零时Word\{}.pdf".format('%02d'%n)  # 要生成的文件:不存在
    # 先创建 不存在的 文件
    f1 = open(outputFile,'w')
    f1.close()
    # 再转换往PDF中写入内容
    convert(inputFile, outputFile)

    from docx2pdf import convert


print('----------第4步:把都有PDF合并为一个打印用PDF------------')

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/桌面/描字帖/(打印合集)大班A整页描字帖2乘5加表格-4名字-({}人).pdf".format(num))
file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/描字帖/(打印合集)小2班描字帖练习册({}份).pdf".format(num))
file_merger.close()
# doc.Close()

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

终端运行

不用输入参数,直接运行

成果位置

PS:在无数的教学实践后,我发现学前孩子的镜像视力(单字或多个字的左右颠倒、上下颠倒)非常普遍,终于无可奈何放弃了'%02d'%i——1-9前面不补0。


 

学具裁切

幼儿操作:

时间:2023年09月14日 下午14:20-14:35

班级:小2

人数:21人?

报学号和名字发纸

1、发纸的时候,我报学号,幼儿反应不强烈,但是我报孩子的第一个名字,小朋友就纷纷说说这个孩子的全名。

2、了解后,小2班每天点名时报学号和名字,幼儿的茶杯、小床上也有大大的学号数字图案,所以很多孩子对数字有声音和图像的印象,拿到纸就说:这是22,我就是22号。我是8号。

第一步:玩纸游戏

(折纸)反复对折成小块

一位男孩折了纸飞机(小班年龄不容易)

卷纸(圆筒)

1位男孩撕纸练习

第二步:书写

抓笔、捏笔(两种握笔手势)

绘画内容——线条涂鸦

然后模仿同伴行为,进行涂鸦线条

绘画行为——圈画数字

加粗线条的画框

数字上的短线条

标准数字书写(家里练过,有丰富经验)

7号幼儿根据样例,模仿画了4个7。

作品展示(扫描,按学号)

1号

2号

3号

4号

5号

6号

7号

8号

9号

10号

11号

12号(描了名字)

13号(名字没有描画)

14号(描了名字)

15号

16号

17号

18号

19号

20号(描了名字)

21号(描了一个简单的汉字)

22号

23号

24号

25号

总结分析:

1、幼儿第一次接触学号纸学具,我带领他们探索纸条玩法(我示范了卷圆筒、对折的方法),幼儿模仿折叠。一位男孩自己折叠长条形飞机

2、幼儿书写能力——5位女孩在家有过数字书写经验,描线的速度、力度、质量高。其余幼儿一开始不知道要干什么,观摩同伴行为后,部分尝试用记号笔操作(包括长短线条涂鸦、描线、画几何图案、涂抹、圈画等)、1位幼儿什么也没有做。

正面

反面

感悟:

20230914第一次在小班做python学具试验——学号字帖。经过长期的Python学具投放,我对幼儿各种各样的玩法和画法,都能够心平气和的接受了,每个孩子的手部技能练习是循序渐进发展起来的。

同时也感慨:刚入学的孩子,就自然而然出现多种书写状态,形成手部肌肉发展水平的分层。

序号现象预设
15位小班孩子已经能够正确握笔和书写超过预期
2只有1位孩子撕纸,其他孩子都没有撕,小班孩子手指大动作练习撕纸超过预期
3半数幼儿线条涂鸦符合预期
4幼儿书写姿势(抓笔)手指肌肉控制符合预期
5幼儿圈画行为(普遍)不在预设内
6数字线条加粗,把数字涂抹成黑色(非普遍)不在预设内
7记号笔与纸接触产生的黑色晕染、破洞不在预设
8对0、6、8等数字进行的涂色填色(黑色)行为不在预设

       没想到几位小班孩子已经能够正确握笔和书写,三位孩子还描了名字,其水平超出预期。只有1位孩子撕纸,这也超出我的设想(小班孩子手指大动作练习,男孩普遍就是撕纸),

      基于幼儿不同的能力水平,教师可以设计相应的“巩固学习材料”“提升学习材料”,让每位幼儿在操作感知中,掌握更多的“样式规律”,熟悉数字的用途。

      不少孩子都喜欢圈画数字,数字涂色。这是后续设计小年龄幼儿学具的一个思考元素(练习线条控制、蜡笔涂色)

END

                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿夏reasonsummer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值