当前位置:首页 » 《随便一记》 » 正文

【教学类-19-01】20221127《ABAB式-规律排序-A4竖版2份》(中班)

23 人参与  2022年11月28日 14:33  分类 : 《随便一记》  评论

点击全文阅读


展示效果:

单人使用样式:

 单页打印样式

 背景需求:

中班幼儿需要掌握ABAB规律排序,如下图所示,AB两个元素能外形不同、颜色不同。

 ​利用Python Word单元格填色功能,随机生成AB样式,引导幼儿进行ABAB固定颜色涂色。

 Word模板设置 

1、插入表格1*8、

2、左侧的空心黏贴表和右侧的灰色黏贴边都是”插入-形状-矩形“

3、表格的框线:粗的6磅,细的1.5磅

代码设计:

# https://www.codenong.com/cs106022019/'''作者:阿夏时间:2022年11月27日ABAB规律填色 竖版2份4条)'''from docx import Documentfrom docx.oxml.ns import nsdeclsfrom docx.oxml import parse_xmlimport random,os# 新建表行数rowsNum = int(input('行数(1行)\n'))# 新建表列数colsNum = int(input('列数(只要2个=AB)\n'))Num = int(input('每套题目随机抽取几个不重复颜色(共有9个颜,4行需要8个不重复颜色)\n'))rowrow= int(input('几条?(4)\n'))num= int(input('生成多少份?\n'))# 表格首行背景色设置# 背景色,根据需要调整,可参考站长之家选色 http://tool.chinaz.com/Tools/PageColor.aspx# (米罗12色蜡笔(去掉白色'FFFFFF'和黑色'000000',黑色涂色很容易显脏)# # 白色\#黑色\# 灰色\# 红色\# 橘黄\# 黄色\# 森林绿\# 黄绿色\# 蓝色\# 青色(天蓝)\# 靛青色(紫色)\# 粉红colorall=['FFFFFF','000000','CCCCCC','FF0000','FF8000','FFFF00','228B22','7FFF00','0000FF','00FFFF','4B0082','FFC0CB']# colorall=['FFFFFF','000000','CCCCCC','FF0000','FF9912','FFFF00','228B22','7FFF00','0000FF','00FFFF','4B0082','FFC0CB']考虑6个对比色colorsmall=colorall[3:]# 排除白色、黑色、灰色print(colorsmall)print('----------第2步:新建一个临时文件夹------------')# 新建一个”装N份word和PDF“的文件夹os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\规律填色\零时Word')for nn in range(1,num+1):            # for e in range(0,2):        # 一页两份        doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\规律填色\规律填色模板(竖版8列ABAB).docx')        # 方案一:一页中,第一套8个颜色和第2套8个颜色中间,只有1-2个不一样(大部分是2个不一样,少量1个不一样)        color=[]        colors1=random.sample(colorsmall,Num)        colors2=random.sample(colorsmall,Num)        for h in colors1:                color.append(h)        for g in colors2:                color.append(g)        print(color) # 随机抽取8个色块        ['00FFFF', 'CCCCCC', '228B22', 'FFC0CB', 'FF9912', 'FFFF00', '0000FF', '4B0082', 'FF0000', 'FFFF00', '00FFFF', '0000FF', '7FFF00', '4B0082', 'CCCCCC', '228B22']                # # 方案二:一页中,第一套8个颜色和第2套8个颜色是一样的。        # color=[]        # for e in range(0,2):        #         colors=random.sample(colorsmall,Num)        #         for k in colors:        #                 color.append(k)        # print(color)        # # ['FF0000', 'FFFF00', '00FFFF', '7FFF00', 'FF9912', 'FFC0CB', 'CCCCCC', '0000FF', '7FFF00', 'FFC0CB', 'CCCCCC', '228B22', 'FFFF00', 'FF0000', '00FFFF', '4B0082']        # 表格位置        bg=[]        for b in range(0,rowrow*2):                # 四个表                for x in range(0,rowsNum):        # 1行*8列                        for y in range(0,colsNum):                # 只要填充2个格子ABAB                                ww='{}{}'.format(x,y)                                bg.append(ww)        print(bg)           ['00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01', '00', '01']        for b in range(0,rowrow*2):      # 0-8行                if b==3:    # 排除第3、7行(4行、8行)                         pass                elif b==7:   # 这两行给孩子自己随意画                           pass                           #                   else:                        table = doc.tables[b]          # 4567(8)行                        for t in range(b*colsNum,b*colsNum+colsNum):   # 02                                pp=int(bg[t][0])                                    qq=int(bg[t][1])                                                 k=color[t]                                  print(k)                      #                                                         shading_list = locals()                                    shading_list['shading_elm_'+str(qq)] = parse_xml(r'<w:shd {} w:fill="{bgColor}"/>'.format(nsdecls('w'),bgColor = k))                                table.rows[pp].cells[qq]._tc.get_or_add_tcPr().append(shading_list['shading_elm_'+str(qq)])                                doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\规律填色\零时Word\{}.docx'.format('%02d'%nn))           from docx2pdf import convert        # docx 文件另存为PDF文件        inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/规律填色/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在        outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/规律填色/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在        # 先创建 不存在的 文件        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 osfrom PyPDF2 import PdfFileMergertarget_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/桌面/规律填色/(打印合集)规律填色A4竖版2份ABAB({}份).pdf".format(num))file_merger.close()# doc.Close()# print('----------第5步:删除临时文件夹------------')    import shutilshutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/规律填色/零时Word') #递归删除文件夹,即:删除非空文件夹

重点说明:

输入数据

 运行过程

 随后删除过渡信息

 单元格背景色的确定——米罗可儿12色蜡笔的12种颜色(使用RGB颜色)

 

 随机抽取2次,每次8个颜色,合起来一共16个颜色。前8个在0-4表格内,后8个在4-8表格内

 坐标XY

重点:如何单元格填充背景色

效果展示:

4张A4纸=8份作业 

 预设玩法:

1、ABAB添色——单元格框线的粗细提示幼儿两个颜色是一组的。

2、有黏贴边——纸条剪下来,黏贴成手镯、长条纸等

3、自由涂色——女孩更喜欢涂各种颜色(彩虹系列)


点击全文阅读


本文链接:http://zhangshiyu.com/post/49179.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1