【教学类-35-05】17号的学号字帖(A4竖版1份)

news2024/11/28 10:37:20

作品展示:

背景需求:

大四班17号男孩目前无法自主数学数字。他表示自己能够认识数字,但不会写。

保育老师说:我曾经教过他,抓着手示范的。但是他记不住。家里估计也不练习的。年龄还没到,下学期再看看能不能跟上。

我给他一份“数字火车”字帖,他看看后问:“灰的数字描一描,那空的地方怎么办?”

“你先描完再说”

他很认真的描画了灰色数字,真的是“画”数字,条线扭动,笔画顺序都不正确。

描完后我逐一指导他:

“先把1写了,都是一竖,”

“0就是一个圆圈,画个圆圈”

“8是两个圆圈。9是一个圆圈,右边加1个竖条”

……

不会儿他把纸给我看,0、1、7、8、9画好了。(他是17号,7练习过)

剩下的数字我抓着他的手完成了。

孩子有学习的意愿,学的比较认真,态度号。但明显练习少,无法掌握数字书写规律。

现象思考:

在同伴们都能书写数字的情况下,乖乖的17号同学显然跟不上大部队。现阶段他只能够描数字,但是笔画序都不对。——17号,是先画11,然后上面加一横。

所以我想先给他练习一下基本数字书写方法。

单纯写数字本,估计他没有耐心写一整页,所以我想设计一些和他生活有关的数字,让他每天练习一点,逐步掌握0-9数字正确书写方法。

目前想到的就是

1、学号 :17号

2、班级:大4班

3、星期:一、二、三、四、五(1,2,3,4,5)

3、年份:2023年

4、出生年:2017或2018年

5、出生月:X月

6、出生日:XX日

5、家长手机号码(分开书写)

6、姓名(三个字分开练习)

……

今天先设计的就是第一个项目:学号

素材准备:

WORd模板

代码准备:


'''
作者:阿夏
时间:20231207
名称:大4 17号的学号字帖
'''

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

from docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor

# 需要几行已有文字
nn=int(input('一共几行(8行、其中4行是两个数字,4行是1组数字)\n'))
mm=int(input('一共几列(6列)\n'))
kk=int(input('需要空几行(让幼儿自由书写用(最少0行(全是描红字),最多4行(整页空白自己写)\n'))
# s=int(input('请输入学号(17)\n'))
s='17'

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

# 分开的学号
w=int((nn/2-kk)*mm) # 8行的一半=4行,4行中的3行有数字,1行无数字
kg='' # 空格
# 有学号的部分
list1=[]
for a1 in range(0,w):
    list1.append(s[0])
    list1.append(s[1])
# 空行部分
for c in range(2):
    for b1 in range(kk*mm):
        list1.append(kg)
print(list1)
# ['1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '1', '7', '', '', '', '', 
# '', '', '', '', '', '', '', '']
print(len(list1))
# 48


# 有学号的部分
list2=[]
for a2 in range(0,w):
    list2.append(s)
    
# 空行部分
for b2 in range(kk*mm):
    list2.append(kg)
print(list2)
# ['17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '17', '', '', '', '', '', '']
print(len(list2))
# 24

# 合并的学号
list=list1+list2
print(list)
print(len(list))
# 48+24=72

# 制作所有单元格的数字
# 前4行的坐标
bg1=[]
for x1 in range(1,int(nn/2)+1):    # 8/2=4行 第一行是标题,所以从索引1(第2行开始)
    for y1 in range(0,mm*2):        #6列*2  数字拆开的2份,所以是12格子
        c1='{}{}'.format('%02d'%x1,'%02d'%y1)
        bg1.append(c1)
print(bg1)
print(len(bg1))

# 后4行的坐标
bg2=[]
for x2 in range(1+int(nn/2),nn+1):    # 从第5行开始,到第8行+1
    for y2 in range(0,mm*2,2):        #6列*2  0-12 之间,所有的0,2,4,6坐标
        c2='{}{}'.format('%02d'%x2,'%02d'%y2)
        bg2.append(c2)
print(bg2)
print(len(bg2))

# 一页所有的坐标
bg=bg1+bg2
print(bg)
print(len(bg))

# 标题坐标
bt='我的学号是:{}'.format(s)
zb='0000'

# 插入标题的坐标和内容
bg.insert(0,zb)
list.insert(0,bt)




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

# doc= docx.Document(r"C:\Users\jg2yXRZ\OneDrive\桌面\描字贴\打印合集描字贴.docx")# 新建Word

for n in range(1):    # 一共多少份
    doc = docx.Document(r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\17号的数字练字帖\17号的学号字帖.docx")


    table = doc.tables[0] 
    for p in range(0,len(bg)):               # 一共有9个表格
       
        
        # pp=int(bg[p][0:2])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
        # qq=int(bg[p][2:4]) 
        # # f=font[t]        # 字体格式
        # k=list[n][p]               # 从4名字里提取名字\
        pp=int(bg[p][0:2])     # 提取表格bg里面每个元素的第0个数字==单元格X坐标  t=索引数字
        qq=int(bg[p][2:4]) 
        # f=font[t]        # 字体格式
        k=list[p]               # 只有一个,所以不要n

        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(61)  #输入字体大小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\桌面\描字帖\17号的数字练字帖\零时Word\{}.docx'.format('%02d'%n))#保存为XX学号的零时word
    time.sleep(2)
    from docx2pdf import convert
    # docx 文件另存为PDF文件
    inputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\17号的数字练字帖\零时Word\{}.docx".format('%02d'%n)# 要转换的文件:已存在
    outputFile = r"C:\Users\jg2yXRZ\OneDrive\桌面\描字帖\17号的数字练字帖\零时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 PdfMerger
target_path =  'C:/Users/jg2yXRZ/OneDrive/桌面/描字帖/17号的数字练字帖/零时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 = PdfMerger()
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/桌面/描字帖/17号的数字练字帖/(打印合集)17号的数字练字帖({}份).pdf".format(int(n+1)))
file_merger.close()
# doc.Close()

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

终端输入

因为17号完全不会写数字,

1、就做成“全版的字帖”,全部描红。

2、因为不知笔画顺序,手指控笔有问题,所以需要写“大号数字”

如果有一点基础,可以留一行空格,让幼儿自己照着抄写,适合中班、大班

其他空行

感悟:

1、代码优势:根据幼儿的书写水平,确定空行的多少。

2、让幼儿每次只学一个有意义的数字、数组的书写方法(如学号),让幼儿学以致用教师也来得及抽空教一下。

努力为幼儿订制“个性化需求学具”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1295780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目访问resources下的静态资源

1.新建一个配置文件夹,放配置类 2.编辑 WebMvcConfig.java package com.southwind.configuration;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import or…

期末速成数据库极简版【查询】(2)

目录 select数据查询----表 【1】筛选列 【2】where简单查询 【3】top-n/distinct/排序的查询 【4】常用内置函数 常用日期函数 常用的字符串函数 【5】模糊查询 【6】表数据操作——增/删/改 插入 更新 删除 【7】数据汇总 聚合 分类 ​ 🙂&#…

2.6 A 的 LU 分解

一、A LU 线性代数很多关键的概念实际上就是矩阵的分解(factorization)。原始矩阵 A A A 变成两个或三个特殊矩阵的乘积。第一个分解,实际上也是最重要的分解,来自消元法。因子 L L L 和 U U U 都是三角形矩阵,分…

自动化测试:PO模式详解!

PO(Page Object)模式是一种在自动化测试中常用的设计模式,将页面的每个元素封装成一个对象,通过操作对象来进行页面的交互。 概括来说就是,每个页面都有对应的PO类,PO类中包含了页面的元素定位和操作方法。…

ArkTS语言难吗?鸿蒙指南

HarmonyOS的开发语言是ArkTS、JS(JavaScript)。 ArkTS简介 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习…

c语言-动态内存管理

文章目录 一、为什么会有动态内存管理二、申请内存函数1、malloc2、free3、calloc4、realloc 三、常见的动态内存的错误四、练习 一、为什么会有动态内存管理 1.我们一般的开辟空间方式: int a 0;//申请4个字节空间 int arr[10] { 0 };//申请40个字节空间2.这样…

如何运用gpt改写出高质量的文章 (1)

大家好,今天来聊聊如何运用gpt改写出高质量的文章 (1),希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 如何运用GPT改写出高质量的文章 一、引言 随着人工智能技术的飞速发展,自然…

QT 重定向qdebug输出到自绘界面

因为在嵌入式中调试qt需要查看输出信息,特意写了一个类用户便捷查看qdebug信息 界面如下: 提供了开始,停止,保存,清空,退出功能,具体代码下文给出 文件如下 #ifndef QDEBUGREDIRECT_H #define QDEBUGREDIRECT_H /**qdebug 重定向类 定向到界面控件*李吉磊 2023.12.7* */#in…

vue2中使用jsplumb完成流程图

前言 之前的几个demo都是在vue3中写的,虽然可以直接拿去复用。 但是根据有些看客反馈,想用一个vue2版本的,毕竟很多人开发功能的时间都不是特别富裕。大多时候还是用现成的demo更好一些。 这里我就写一个简易版本的demo,可以实现绘制,并且删除连接线和节点等功能,篇幅也不大…

麻雀1号开发板开箱

麻雀1号是上海睿赛德电子科技有限公司全新推出的一款高性价比音频Wi-Fi开发板,内置RT-Thread,主打 Wi-Fi、音频和摄像头拍照功能,配合丰富的组件及例程,可降低多媒体应用的开发门槛。 开发板介绍 正面: 背面&#x…

手搓图片滑动验证码_JavaScript进阶

手搓图片滑动验证码 背景代码效果图展示网站 背景 在做前端项目开发的时候,少不了登录注册部分,既然有登录注册就少不了机器人验证,验证的方法有很多种,比如短信验证码、邮箱验证码、图片滑动、图片验证码等。 由于鄙人在开发中…

docker安装与详细配置redis

docker安装redis 连接虚拟机 vagrant up //启动虚拟机 vagrant ssh //连接虚拟机进入root用户 su root输入密码:和账户名一样 vagrant 下载redis 直接下载redis镜像,下载redis最新镜像 docker pull redis下载的都是DockerHub中默认的官方镜像 创建文件目…

golang slice 数组针对某个字段进行排序

这里主要用到golang的sort.Sort方法,先看这个函数的简介: 介绍链接:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter03/03.1.html 如何实现: import "sort"// UserInfo 用户信息结构…

Bionorica成功完成SAP S/4HANA升级 提升医药制造业务效率

企业如何成功地将其现有的ERP ECC系统转换升级到SAP S/4HANA, 并挖掘相关潜力来推动其数字化战略?Bionorica应用SNP软件实施了实时ERP套件,为进一步的增长和未来的创新奠定了基础。 草药市场的领导者:Bionorica Bionorica是世界领…

.NET使用分布式网络爬虫框架DotnetSpider快速开发爬虫功能

前言 前段时间有同学在微信群里提问,要使用.NET开发一个简单的爬虫功能但是没有做过无从下手。今天给大家推荐一个轻量、灵活、高性能、跨平台的分布式网络爬虫框架(可以帮助 .NET 工程师快速的完成爬虫的开发):DotnetSpider。 注…

Java实现屏幕截图程序(一)

在Java中,可以使用Robot类来实现屏幕截图程序。Robot类提供了一组用于生成输入事件和控制鼠标和键盘的方法。 Java实现屏幕截图的步骤如下: 导入Robot类 import java.awt.Robot;创建Robot对象 Robot robot new Robot();获取屏幕分辨率信息 Dimensi…

力扣面试题 08.12. 八皇后(java回溯解法)

Problem: 面试题 08.12. 八皇后 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 八皇后问题的性质可以利用回溯来解决,将大问题具体分解成如下待解决问题: 1.以棋盘的每一行为回溯的决策阶段,判断当前棋盘位置能否放置棋子 2.如何判…

JavaScript <关于逆向RSA非对称加密算法的案例(代码剖析篇)>--案例(五点一)

引用上文: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/134857857 剖析: var bitsPerDigit16; // 每个数组元素可以表示的二进制位数// 数组复制函数,将源数组部分复制到目标数组的指定位置 function arrayCopy(src, srcStart, dest, destStart, n) {var m…

OpenVINS学习1——数据集配置与运行

前言 OpenVINS是基于MSCKF的开源VIO算法,有非常详细的官网文档可以学习使用,将来一段时间的主要实践工作,就是深度掌握这份开源代码。 https://docs.openvins.com/ 一、环境配置与Euroc数据集运行 我的环境是Ubuntu20.04,ROS1&a…

EasyX图形化学习

1.EasyX是什么&#xff1f; 是基于Windows的图形编程&#xff0c;给用户提供函数接口&#xff0c;最终函数调用会由Windows的API实现。 注&#xff1a;EasyX只适配 c 。 2.头文件&#xff1a; <easyx.h>---只包含最新的函数 <graphics.h>---包含<easyx.h&g…