【教学类-04】20211017 Python VSC 大班数字分合

21 篇文章 0 订阅

     上周五利用午休  给班级里的孩子做了Python代码生成的‘’加减法列示计算题‘’(加减法都要有,空白位置在不同的地方。)

        从对作业的分析来看,全部孩子都已有列示计算的经验,但是这种题型多,位置不固定的题目让很多孩子出现加减法混同的情况——填写的答案与已有2个数字有关联(加或减),但不理解不同位置带来的加减转换思路。(教学过程不能展示)

    加减计算题一般是小学后的学习重点,所以大班孩子们不会做、做错很正常。因此第一次的实验的目的是让孩子懂得作业纸上要先写名字、学号、班级,并观察幼儿数字书写的能力(镜像字)、当然也能够掌握每位孩子通过家庭训练,现有 的加减法能力。

   思来想去,什么样的数学题目是大班教材允许进行操作的?

   那就是“数字分合”

大班孩子可以进行数字分合的游戏,通过修改已有的一个代码,几经调试,终于制作出了一个可以生成txt格式的数字分合模板的代码。

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
 
import random
 
def add_test(sum_value, count):
    '''
    返回指定个数(count)的计算题,以计算某数(sum_value)以内的加法
    :param sum_value: 指定某数以内(的加法)
    :param count: 随机生成多少题
    :return: 返回count个计算题
    '''
 
    questions = ''
    count_temp = 0   # 计数器
 
    
#  求列试题的第2个数字b
    while True:
        a = random.randrange(0, sum_value+1)  # 第2个数a 如果是5以内计算题,随机生成0.1.2.3.4.5 实际就是5以内 
        c = random.randrange(0, sum_value+1)   # 第3个数(答案数)c 随机生成 0.1.2.3.4.5
        if c-a>=0:    # 第2个数字b(答案数)等于第3个数c(答案数)减去第1个数字a.所以b=c-a b的范围是大于等于0
            str_temp = '  '+str(c)+'\n' + ' / ' +  ' \ '+'\n'+'(  )  ' + str(a)+'\n'+'\n'
            questions += str_temp
            count_temp += 1
            if count_temp >= count:
                break
                
    return questions
 
def main():
    # sum_value, count = 5, 448      # 随机出448题(正好14页32题28份每份16题),5以内的分合(大班幼儿常用)
    sum_value, count = 10, 560      # 随机出560题(正好14页40题28份每份20题),10以内的分合(大班幼儿常用)
    # sum_value, count = 20, 160     # 随机出600题(正好4页40题10份20题),20以内的分合(个别幼儿挑战,不要打印太多)
    # sum_value, count = 50, 96     # 随机出600题(正好3页32题6份16题),50以内的分合(个别幼儿挑战,不要打印太多)
    # sum_value, count = 100, 64      # 随机出600题(正好2页32题4份16题),100以内的分合(个别幼儿挑战,不要打印太多)
    text = ''
    q = add_test(sum_value, count)
    str_title = '%d以内加法+分合%d题 .txt' % (sum_value, count)
    with open(str_title, "w") as f:
        f.write(q)
    f.close()
 
if __name__ == '__main__':
    main()

重点说明:

一、代码可以生成 5以内、10以内、20以内、50以内、100以内五款分合数字,大班年龄段一般就用到5以内和10以内(运行的时候只能选一条运行,其他都用Ctrl+/转为注释)

 二、红框的内容是显示出了‘’分合图形‘的关键’。实际上三行,但是我分段就显示不出来,只能挤在一段里,空格多少都是调试过的,否则TXT转到word里会变形.

三、运行后的效果

1、以运行“5以内数字分合”为例,

 2、在D/test下生成一个TXT文件

 3。TXT内部分合题

 Ctrl+A全选  Ctrl+C复制到word里,下面先设置word打印模板

4。word打印模板设置

边框及主要样式设置

页眉设置

 把TXT的分合题拷贝到word里

 题目全选,字体、字号、段间距修改

 

 使用时,5以内分合作业纸中间一切二,每次16题

 5以内分合A4页存32题,根据人数,确定题目总数,比如我有28个孩子,每个孩子16题,就28

*16=448题) 

2、以运行“10以内数字分合”为例,由于10以内有两位数,空格会出现参差,为了格式好看,需要将字体、段落变小,每页就不是32题而是40题(每人20题)。

 10以内分合A4页存40题,根据人数,确定题目总数,比如我有28个孩子,每个孩子20题,就28

*20=560题) 

这套代码的填空都在第一位,可不可以把空格放在第二位呢? 

只要把 红框里的位置改一下就可以了

(1)空格在第一位

 (2)空格在第二位

 为了方便,数字分合填空在第二位的代码在下面(5以内分合和10以内分合的word模板的字号、间距不同 不要忘记调整)

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
 
import random
 
def add_test(sum_value, count):
    '''
    返回指定个数(count)的计算题,以计算某数(sum_value)以内的加法
    :param sum_value: 指定某数以内(的加法)
    :param count: 随机生成多少题
    :return: 返回count个计算题
    '''
 
    questions = ''
    count_temp = 0   # 计数器
 
    
#  求列试题的第2个数字b
    while True:
        a = random.randrange(0, sum_value+1)  # 第2个数a 如果是5以内计算题,随机生成0.1.2.3.4.5 实际就是5以内 
        c = random.randrange(0, sum_value+1)   # 第3个数(答案数)c 随机生成 0.1.2.3.4.5
        if c-a>=0:    # 第2个数字b(答案数)等于第3个数c(答案数)减去第1个数字a.所以b=c-a b的范围是大于等于0
            str_temp = '  '+str(c)+'\n' + ' / ' +  ' \ '+'\n'+str(a)+ '  (  )'+'\n'+'\n'
            questions += str_temp
            count_temp += 1
            if count_temp >= count:
                break
                
    return questions
 
def main():
    sum_value, count = 5, 448      # 随机出448题(正好14页32题28份每份16题),5以内的分合(大班幼儿常用)
    # sum_value, count = 10, 560      # 随机出560题(正好14页40题28份每份20题),10以内的分合(大班幼儿常用)
    # sum_value, count = 20, 160     # 随机出600题(正好4页40题10份20题),20以内的分合(个别幼儿挑战,不要打印太多)
    # sum_value, count = 50, 96     # 随机出600题(正好3页32题6份16题),50以内的分合(个别幼儿挑战,不要打印太多)
    # sum_value, count = 100, 64      # 随机出600题(正好2页32题4份16题),100以内的分合(个别幼儿挑战,不要打印太多)
    text = ''
    q = add_test(sum_value, count)
    str_title = '%d以内减法-分合%d题 .txt' % (sum_value, count)
    with open(str_title, "w") as f:
        f.write(q)
    f.close()
 
if __name__ == '__main__':
    main()

          这是阿夏第5个实际运用到幼儿园教学中的Python自动化案例(教学类-04),希望能通过借鉴、实验、修改,将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、付费专栏及课程。

余额充值