【教学类-24-01】20230306《数字火车-升序1-9取5填空1》(中班《玩具总动员》)
创始人
2024-05-29 22:56:32
0

成果样式:

背景需求:

中班1位老师需要“排序类学具”供幼儿提高数能力。考虑到无法彩色打印图案,我暂时就设计一些数字、黑白图形(点、字符)的排序。针对中班年龄特点,先做《数字火车-升序1-9取5填空1》的实验

设计原理:

  1. 数字范围:在1-9之间,选择连续5个数字。并从中选择一个数字做填空

2、1-9连续数字:12345、23456、34567、45678、56789

  1. 以12345为例,可填空类型5个,('_2345、1_345、12_45、123_5、1234_')、所以5套连续数字一共25种组合。

素材准备:

素材位置

word设置

代码演绎

# '''
# author:阿夏
# 原理:1-9升序,抽取5个连续数字,删除1个数字做填空.
# 结果:1-9数字连续5个数字空1格,最多25种排列方法
# 时间:2023-3-6 13:31
# '''print('---------第1部分 制作题库(1-9之间升序排列的5个数字,其中有一个填空)----------')# 制作"数字+空格"
s1=[]
for i in range(1,10):    # ['1', '2', '3', '4', '5', '6', '7', '8', '9']s2=' 's3=str(i) +s2       # 数字加空格s1.append(s3)    # ['1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ']
print(s1)n1=[]
l2=[]
b1=[]
# 制作“填空空格"
for l1 in range(5):   # 0-8 =索引9a1=s1[l1:l1+5]print(a1) # ['1', '2', '3', '4', '5']# ['2', '3', '4', '5', '6']# ['3', '4', '5', '6', '7']# ['4', '5', '6', '7', '8']# ['5', '6', '7', '8', '9']# 循环5次for b1 in range(5):for b2 in a1:print(b2)n1.append(b2)    print(n1)
# ['1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '2', '3', '4', '5', '6', '2', '3', '4', '5', '6', '2', '3', '4', '5', '6', '2', '3', '4', '5', '6', '2', '3', '4', '5', '6', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9']# 分成5部分5组
L3=[]
for c1 in range(0,int(len(n1)/25)):c2=n1[c1*25:c1*25+25]L3.append(c2)
print(L3)
# [['1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', '2', '3', '4', '5', '1', '2', '3', '4', '5'], ['2', '3', '4', '5', '6', '2', '3', '4', '5', '6', '2', '3', '4', 
# '5', '6', '2', '3', '4', '5', '6', '2', '3', '4', '5', '6'], ['3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7', '3', '4', '5', '6', '7'], ['4', 
# '5', '6', '7', '8', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8', '4', '5', '6', '7', '8'], ['5', '6', '7', '8', '9', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9', '5', '6', '7', '8', '9']]
print(len(L3)) # 5# 添加一个填空,组合其他部分
L4=[]
s3='_ '   # 填空的下划线“_ "(下划线+空格)
for  d in range(len(L3)):for c2 in range(5):L4.append(s3)        # 添加空格b1=L3[d][c2*6+1:c2*6+6]# 从索引1开始提取6个,12345变成"_23451_34512_^"for l3 in b1:L4.append(l3)         
print(L4)# 分成5部分*5组=25组
L5=[]
for c3 in range(int(len(L4)/5)):b2=L4[c3*5:c3*5+5]L5.append(b2)
print((L5))
# [['_', '2', '3', '4', '5'], ['1', '_', '3', '4', '5'], ['1', '2', '_', '4', '5'], ['1', '2', '3', '_', '5'], ['1', '2', '3', '4', '_'], ['_', '3', '4', '5', '6'], ['2', '_', '4', '5', '6'], ['2', '3', '_', '5', '6'], ['2', '3', '4', '_', '6'], ['2', '3', '4', '5', '_'], ['_', '4', '5', '6', '7'], ['3', '_', '5', '6', '7'], ['3', '4', '_', '6', '7'], ['3', '4', '5', '_', '7'], ['3', '4', '5', '6', '_'], ['_', '5', '6', '7', '8'], ['4', '_', '6', '7', '8'], ['4', '5', '_', '7', '8'], ['4', '5', '6', '_', '8'], ['4', '5', '6', '7', '_'], ['_', '6', '7', '8', '9'], ['5', '_', '7', '8', '9'], ['5', '6', '_', '8', '9'], ['5', '6', '7', '_', '9'], ['5', '6', '7', '8', '_']]
# L5等于题库(不重复)print('---------第2部分 word里面的表格----------')num=int(input('生成多少份(按班级人数)\n'))
Number=int(input('随机抽取几道题目(25取20)\n'))
size=float(input('数字大小(55、word单元格字号55,行间距55磅)\n'))
weight=int(input('表格列数(2列)\n'))
height=int(input('表格行数(10行)\n'))# 表格位置
bg=[]
for x in range(0,height):for y in range(0,weight):ww='{}{}'.format(x,y)bg.append(ww)
print(bg)      print('---------第3部分 word单元格内写入随机抽取题目,批量N份word,并转为pdf----------')import random
from win32com.client import constants,gencache
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 导入枚举常数模块
import os,timeimport 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 qnfrom docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor# 新建一个”装N份word和PDF“的临时文件夹
os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\排序数字\零时Word')for z in range(0,num):   #多少份   # list=[] # [[],[],[]]的样式    doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\排序数字\数字排序模板10乘2.docx') # for b in range(0,2):    # 每份多少张table = doc.tables[0]          # 一共有1个表格    list=random.sample(L5,Number)      # 10print(list)    for t in range(0,len(list)):             # 图案的长度为8*4=32个    遍历0-32(32个)pp=int(bg[t][0])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字qq=int(bg[t][1])k=list[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(200,200,200) #数字小,颜色深0-255# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距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'%(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(num))
file_merger.close()
# doc.Close()# # print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/排序数字/零时Word') #递归删除文件夹,即:删除非空文件夹

终端展示:

终端输入参数

输出单元格坐标

从题库25题中随机抽取20题

删除过渡零时文件

结果展示

合并PDF所在位置

PDF内容每页都不同,即使有相同的5个数字,空缺的位置也不同。

打印效果展示

教学展示:

基本信息:

时间:2023年3月6日 15:00-15:20

班级:中3班

人数:20人

教学目的:

1、自主书写学号

2、1-9数字的序列,缺失数字填空

3、描画灰色数字,数字书写工具练习

照片:

感悟:

“哇,这里连连看吗?”中1班孩子看到我拿出来的一刀数字纸,兴奋起来,“好多数字啊!”

教学活动中,我强调了学号的书写,然后稍微讲解了缺失数字的填写方法:“从1念到9”

“如果不知道要写什么,就用铅笔、记号笔把灰色数字描一下,变黑色。”

一、群体描字

最初孩子们都不了解题型要做什么,但2/3孩子能够理解“画数字”的意思,就提笔开始从左上角、右下角开始对灰色数字进行描字。

二、教师指导

我随机对一组中写的最快的孩子进行指导:

“你看,这里有个空,缺了什么数字?”

“……”孩子沉默

“34多少67”

“……”

“34567,这个空写5”

他把数字写上去,

“这个234,1234后面是数字几?“

“……”

“23456.这里空就是6,写上去吧”

示范了2-3次,男孩子就理解了,指着下一道题,“这里是写2吗”

“对了,12345!”

三、互相观摩

(一)理解题目的孩子:每组总有见过、做过升序数字填空的孩子,他们完成填空的速度很快,

(二)不理解只描字的孩子:同组的孩子就会张望观摩他们的行为,由于座位倒置,所以同组孩子一般也看不懂结题原理。只是观摩。实在看不懂,就继续埋头描画灰色数字了。

(三)顿悟的孩子:有5位孩子描了几道数字后,突然顿悟了“老师,这里是不是3”“这里是6吗?”“这里写7,对吗”。“真聪明!是的”我大大鼓励后他们继续填写自己会填写的空。

(1)空格的位置对填写结果的影响。如果第一个数字是空,孩子们很难填写,如果空格在2-5位(索引1-4)),60%的孩子能够根据口诀(123456789)朦胧地猜测升序排列的数字。

(2)孩子不知道如何书写某个数字。“……3456789,9我不会写!”一位男孩嘀咕道,我立刻在作业纸的其他位置找到了一个9,“9在这里,你照着画一下”

(四)完成的孩子。不少理解题型的孩子很快就完成了填空题。我劝他们“再把灰色数字描一描,练练手。”

(1)不描字:有一位男孩坚决摇头拒绝“我不想画”“好吧,那就放到作业袋吧”。

(2) 描字: 其他男孩女孩基本都听我的提示,回到座位上继续用记号笔、铅笔描灰色字。以至于15分钟后一位女孩好不容易描完所有数字,拿着整页的黑色数字让我拍照时,大大的感叹:“写的我手都快断了!”

(3) 代练:一位完成的男孩把作业放回作业袋,喝完水回到座位上无所事事,就开始观察周围的同伴。他主动对身边的同桌男孩说:“这里是5,这里写7”,两人互相讨论几句,同桌主动把作业纸递给他,“你帮我!”“好的”速度快的男孩就直接在他的作业上飞速地答题,做了5题后,同桌似乎有点看懂了,把作业要了回去,尝试自己填写,由于速度慢,速度快的男孩又在旁边指点江山,惹得同桌有些烦躁:“我会了,你不要说!”

(4)代做:很快这位速度快的男孩又看到对面的同伴似乎有些困难,他立刻招呼对方是否需要自己的帮助,这一次对面的男孩同样把作业交给他,然后看着速度快的男孩帮他把填空全部完成(垂直状态,估计也),表示感谢,收回了自己的作业纸,认真欣赏了一会儿。请老师拍照。

(五)书写姿势。有一位男孩的捏笔手势不正确(握拳抓笔),虽他然也非常努力用铅笔描画了部分灰字,但线条虚浮(几乎看不出画过)。考虑到年龄关系、手指肌群发育不完善、练习少等情况,我稍微指导他正确的手势,可是孩子很快又调整回抓笔的手势。

从书写内容来看,他用铅笔东一字、西一个字跳着随机描画不同位置的灰色数字,由于之前的某一题答案是8,所以他在后面所有空缺的格子里,坚定地反复写8——处在数字练习巩固的阶段。

四、其他文字

1、你帮我名字!一位女孩写完后吵着要让老师帮他写大名:“老师帮我写的名字DXY”。我用铅笔把她的三个汉字名字写在学号位置上(因为她把学号写在班级位置上了),“那个记号笔把你的名字描一下吧”

2、我会写名字!女孩同组男孩看到她在描名字,也不甘示弱“我会写我的名字!”他用铅笔也在学号的位置上开始一笔一划地写他的名字“WBY”,因为他的座位里作业袋架子很近,很快几位放好作业的男孩过来微观他书写名字,满脸羡慕。

3、书写班级号:几位男孩的头凑在一起,我一看,其中一位在作业纸的一个1上加了一个方块,变成了“中字”,产生了“中_345”效果。“哈哈,你们是中1班,其实中班是写在最上面”。我稍微讲解一下,一位男孩就立刻提笔在自己作业纸的顶部,班级的位置写了“1中”的字样。明显可以看到他早就有书写班级号的经验。

五、总体感悟:

  1. 幼儿人力资源:需要幼儿中的学科带头人,成为同伴观摩的对象。有一位孩子能理解,就成为同组其他孩子的观摩对象。一定程度解决教师人力指导资源不足的问题。

  1. 学具中的灰色:“描字”可以让“不会做”的孩子有事可做,也可以让“快”的孩子精益求精(“磨时间”)一定程度解决能力水平差异产生的“时间差”问题,有助于安全、时长的把控。

  1. 幼儿自我学习:在幼儿已有的数序列认知经验(念诵1-10)基础上,不少孩子是在自我的观察中顿悟到填空的方法。在得到教师、同伴的肯定后,他们很快就在20题中挑选有把握的题目进行答题。

  1. 教师提示指导:教师会主动对没有填空的孩子进行指导,除了几位基础的孩子可以3次左右给反馈,大部分孩子不见得会立刻理解并做出反馈,而教师能分给他们的时间也就不到1分钟。因此大部分情况下,孩子还需要大量观摩同伴的作业,与同伴沟通交流,观看同伴为自己做作业……等方式,初步理解“升序5填空1”的做题原理。

PS优化前的代码

在使用”索引数字替换空格,列表抽取5个数字、只生成25题“的代码之前,我是用“随机数字生成大量题目并去重复set(200题)随机抽取大量题目,去重后留下25题”的方法。

这个代码的缺点

  1. 运行时间长,每一次选取题目都要经历200次抽取,再去掉重复

  1. list有升序和降序时,抽取的所有内容正序和倒叙都混在一起,抽取的题目正序和倒叙数量不等。

所以我才不想用随机数生成并替换,而改成索引数字替换。

# 以下制作25题题库(不重复题目)
list1=['123456789','987654321']# 被抽取序列
cc=['04','40']# 索引位置
l1=[]
for num in range(1,num+1):# 做出所有基本的25题题库,做成'4 '样式for  ww  in range(len(list1)):     # 循环2套题目 for i in range(200):    # 生成尽可能多地题目,便于去重s=random.randint(0,4)    # 1-4之间的随机数# print(s)    # 1234之间的随机数  3list_five=list1[ww][s:s+5]    # 从list里随机抽取连续五个数字23456、678910    # print(list_five)    # 45678  3和3后面5个数字     cc1=int(cc[ww][0])       # 从CC选择第0组的第1个数字0cc2=int(cc[ww][1])       # 从cc选择第0组的第2个数字4s1=int(list_five[cc1])s2=int(list_five[cc2])# print(s1, s2)    # 抽取45678的第一个4 最后一个8r=random.randint(s1,s2)    # 再4-8之间随机抽取一个数字替换成“_”下划线# print(r)    # 4-8之间随机抽了一个6    c= list_five.replace('{}'.format(int(r)),'_')    # # 把6变成整数 替换成'_'="45_78"m.append(c)    # 把抽取出来的"45_78"添加到数组  ['12_45', '4_678', '2345_']# 替换成带数字+空格的e=' '    # 空格j=[] for w in m:   # 从去重的n里面 加上空格# print(w)for z in w:f=z+e# print(f)      # ['5 ', '6 ', '7 ', '8 ', '_ ', '1 ', '2 ', '_ ', '4 ', '5 ']j.append(f)print(j)#  变成5个一组for r in range(int(len(j)/5)):y=j[5*r:5*r+5]a.append(y)    print(a)  print(len(a))             # [['5 ', '_ ', '7 ', '8 ', '9 '], ['6 ', '5 ', '_ ', '3 ', '2 ']]# 25题  题库完成:   # 去重n= list(set(j))     # 随机抽取几百题可能会题目重复, 一种去重的方法,用list,所以列表list要用其他名字.,print('正序最大不重复数目{}'.format(int(len(n)/2)))rst=int(len(n))            # 一共50个,正序25条,逆序25条
print(n)

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...