本文主要是介绍【教学类-35-02】学号+姓名+班级(小2班)学号字帖(A4横版2份),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
图片展示:
背景需求:
突然接到通知,明天下午临时去带小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=Truerun.font.color.rgb = RGBColor(200,200,200) #设置颜色10%黑色=深灰r = run._elementr.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 convertprint('----------第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学具投放,我对幼儿各种各样的玩法和画法,都能够心平气和的接受了,每个孩子的手部技能练习是循序渐进发展起来的。
同时也感慨:刚入学的孩子,就自然而然出现多种书写状态,形成手部肌肉发展水平的分层。
序号 | 现象 | 预设 |
1 | 5位小班孩子已经能够正确握笔和书写 | 超过预期 |
2 | 只有1位孩子撕纸,其他孩子都没有撕,小班孩子手指大动作练习撕纸 | 超过预期 |
3 | 半数幼儿线条涂鸦 | 符合预期 |
4 | 幼儿书写姿势(抓笔)手指肌肉控制 | 符合预期 |
5 | 幼儿圈画行为(普遍) | 不在预设内 |
6 | 数字线条加粗,把数字涂抹成黑色(非普遍) | 不在预设内 |
7 | 记号笔与纸接触产生的黑色晕染、破洞 | 不在预设 |
8 | 对0、6、8等数字进行的涂色填色(黑色)行为 | 不在预设 |
没想到几位小班孩子已经能够正确握笔和书写,三位孩子还描了名字,其水平超出预期。只有1位孩子撕纸,这也超出我的设想(小班孩子手指大动作练习,男孩普遍就是撕纸),
基于幼儿不同的能力水平,教师可以设计相应的“巩固学习材料”“提升学习材料”,让每位幼儿在操作感知中,掌握更多的“样式规律”,熟悉数字的用途。
不少孩子都喜欢圈画数字,数字涂色。这是后续设计小年龄幼儿学具的一个思考元素(练习线条控制、蜡笔涂色)
END
。
这篇关于【教学类-35-02】学号+姓名+班级(小2班)学号字帖(A4横版2份)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!