背景需求:

下周我就是中班的班主任了,由于内向少沟通的性格,家园沟通一直困扰我的薄弱项目。为此我决定对28位幼儿进行每月1次的家长微信联系沟通(交流孩子的情况、优势、不足等,让家长知道老师关心幼儿的成长)

为了不遗漏孩子,需要对28个数字进行随机抽取,打乱排序,确保3月、4月、5月、6月,每月都有1次微信沟通的机会

代码展示-word版

'''
需求:家园沟通确保每周都能微信沟通,保证每个人都沟通到
一学期20周,共28人,3-6月4个月每月4周=16周
平均一周聊7个孩子,4周2正好28人。
'''
import random
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
# 设置基本模板
doc = docx.Document()# 打开带页脚的docx模板(样板要输入数据 才能被保存,)
doc.add_paragraph('中X班每月家园联系的对象(2023.3-6)')     # 把内容按段落输入到doc这个docx文件内
doc.add_paragraph('')     # 把内容按段落输入到doc这个docx文件内
# 学号的列表
list=[]
for s in range(1,29):n='学号'+str('%02d'%s) list.append(n)
# print(list)
# print(len(list))# 每月固定练习,月上第1周联系1-7号,
r=int(len(list)/4)
t1=[]
for t in range(4):    # 每月4周t1.append(list[t*r:t*r+r])
# print(t1)
# [['学号01', '学号02', '学号03', '学号04', '学号05', '学号06', '学号07'],
# ['学号08', '学号09', '学号10', '学号11', '学号12', '学号13', '学号14'],
# ['学号15', '学号16', '学号17', '学号18', '学号19', '学号20', '学号21'],
# ['学号22', '学号23', '学号24', '学号25', '学号26', '学号27', '学号28']]# 打乱联系人
for y in range(3,7):    # 3-6月,一共四个月t1.clear()a1 =random.sample(list, 28)# print(a2)   # ['10', '5', '8']现在是字符串格式# print(a1)t2=[]t3=[]for t in range(4):    # 每月4周t1.append(a1[t*7:t*7+7])# print(t1)# 抽取七个七个组合在一起[['学号12', '学号26', '学号07', '学号22', '学号10', '学号24', '学号25'], ['学号20', '学号18', '学号01', '学号13', '学号11', '学号23', '学号08'], ['学号19', '学号02', '学号28', '学号09', '学号05', '学号03', '学号21'], ['学号17', '学号14', '学号15', '学号16', '学号27', '学号04', '学号06']]for t2 in t1:        # 遍历[[],[],[]]的每一个[]t2.sort()          # 升序排列小到大print('{}月第{}周:{}'.format(y,t+1,t2))         # ['学号01', '学号08', '学号10', '学号12', '学号14', '学号22', '学号28']['学号01', '学号08', '学号11', '学号13', '学号18', '学号20', '学号23']w='{}月第{}周:{}'.format(y,t+1,t2)# 写入word# “题目docx”和“题目+答案word”都需要同样的格式设置,把设置部分做一个函数体,便于调用。# for l in range(len(w)):     # 用k 在selectList3的列表值(40题*N)内遍历# print(k)     # 打印遍历的内容doc.add_paragraph(w)     # 把内容按段落输入到doc这个docx文件内doc.add_paragraph(' ')     # 把内容按段落输入到doc这个docx文件内# CSDN博主「编程亿直爽」# 字体这一段一定要再写一次for paragraph in doc.paragraphs:for run in paragraph.runs:             run.font.size = Pt(22)                # 数字题目字体大小run.font.bold = False                    #数字题目字体是否加粗 不加粗,5*8再加粗比较满,压抑了run.font.name = 'Arial'           # 控制是英文时的字体run.element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')  # 控制数字是中文时的字体paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT # 设置数字页眉居中对齐# paragraph.paragraph_format.line_spacing=2.5 #数字中文字的段行距paragraph.paragraph_format.line_spacing = Pt(50) #数字段间距# 设置主要页边距 5from docx.shared import Cm # 导入cm模块doc.sections[0].top_margin = Cm(1)# sections[1]是第二节=第二页 上边距doc.sections[0].bottom_margin = Cm(1)# sections[1]是第二节=第二页 下边距doc.sections[0].left_margin = Cm(1) # sections[1]是第二节=第二页 左边距doc.sections[0].right_margin = Cm(1.5)# sections[1]是第二节=第二页 右边距# 设置其他页边距 doc.sections[0].gutter=Cm(0)# sections[1]是第二节=第二页 装订线 默认为0 左doc.sections[0].header_distance=Cm(0.8)# sections[1]是第二节=第二页 页眉边距doc.sections[0].footer_distance=Cm(1.3)# sections[1]是第二节=第二页 页脚边距# 装订线还有一个位置属性,暂时未发现如何设置,默认为左,如果需求设置成右,可以建个模板docx文档导入。# 设置纸张方向和大小  LANDSCAPE=横  PORTRAIT纵  默认信纸 纵from docx.shared import Cm # 导入CM # from docx.enum.section import WD_ORIENTATION  # 导入纸张方向doc.sections[0].page_height = Cm(21)  # 设置A4纸的高度doc.sections[0].page_width = Cm(29.7)  # 设置A4纸的宽doc.sections[0].orientation = WD_ORIENTATION.LANDSCAPE # 设置纸张方向为横向 L # 设置分栏 如果不要,就把数字该为为1from docx.oxml.ns import qndoc.sections[0]._sectPr.xpath('./w:cols')[0].set(qn('w:num'), '1') #把第二节页设置为2栏# 设置页眉和页脚from docx.enum.text import WD_PARAGRAPH_ALIGNMENT# 导入文本居中 居左、居右from docx.shared import Pt doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\家园沟通表.docx') #保存才能看到结果

研究亮点:

sort 排序

确保28随机抽取的数字,切割位7个数字一组,7数字一组里面的数字也从小到大排序。

word 随机抽取的联系名单展示。

存在问题:

  1. word阅读起来一长串,最好还是用EXCLE做

  1. 用EXCEL,最好具体到周次、日期、星期,学号填入专门的单元格(1周7天,每天联系1个人)

  1. 单元格下面有空行,可以打钩说明联系过了。

后续写入EXCEL代码设计

【办公类-16-07-02】家园沟通-随机名单(python 排班表系列)相关推荐

  1. 【办公类-16-05-01】“2022上学期 大班游戏活动室排班表——班主任版21周”(python 排班表系列)

    样式展示:1-8周的内容,一摸一样复制到9-16周.17-24周 背景需求: 8月底,保教主任花了不少时间调试"大班游戏活动室安排表.docx",并多次让我给他调整Word的表格框 ...

  2. 【办公类-16-06】“2022下学期 总园活动室(沙水+建构)排班表”(python 排班表系列)

    背景需求: 最近保教主任一直在为总园的活动室安排而头疼不已,和组长们商议许久,依旧无法合理把活动室安排好.3月2日下午,听主任和游戏室成员聊了一个小时的排班,结论是除沙水和建构外,其余空余时间都是&q ...

  3. 【办公类-16-01-01】“机动班下午代班的排班表”(python 排班表系列)

    最终效果图: 含有(周次.日期月日去0.星期.班级.园区.姓名.备注) 20220927第一次代码 背景需求: 本学期我的岗位调整为机动岗(不担任固定班级的班主任),上午承担各种各条线的辅助工作(信息 ...

  4. 【办公类-16-01-02】“2022学年上半学期-代班排班表(跳过节日)”(python 排班表系列)

    样式效果: 背景需求: 2022年上半学期的排班表是按照每周四天,周三空缺方式排列的(不考虑节日) 本篇是假设"如果需要跳过节日",那么排班内容是否可以跳过节日延续,实现" ...

  5. 【办公类-16-05-02】“2022上学期 大班游戏活动室排班表——领导版8周”(python 排班表系列)

    样式展示:生成一份按8周排序的"大班活动室安排表" 1.人工排序的样式 2.Python生成的样式和内容 背景需求: 前一个<大班游戏活动室排班表>主要是针对班主任贴周 ...

  6. 【办公类-16-03】“大班运动场地分配表2-斜线排列、5天循环、不跳节日”(python 排班表系列)

    样例展示:不跳过节日+每周场地斜角排列场地循环排序表(8个班级8组内容) 背景需求: 给大班排完后,我又试着给中班组做批量,中班组长说已经请一位组员用人工排aEXCL表. 中班各班起始场地如下: 于是 ...

  7. 【办公类-16-05-04】“2022下学期 大班运动场地分配表-跳过节日循环排序”(python 排班表系列)

    样例展示:跳过节日的运动场地循环排序表(8个班级8组内容 下学期一共20周) 背景需求: 上学期做过一次大班运动场地安排,跳过节日.2023.2下学期运动场地排班(跳过节日)又来了. 一.场地器械微调 ...

  8. 【办公类-16-06-02】“2022下学期 总园活动室(沙水+建构)排班表(两周一次沙水)”(python 排班表系列)

    作品展示: 背景需求: 上一篇批量制作了"7天轮回14班沙水+每周固定建构"的活动室内排班表. 一.时段冲突,调整单双周. 保教主任抽空检查后,提到:"一个班.上午.下午 ...

  9. 【办公类-16-02】“2022上学期 大班运动场地分配表1-跳过节日循环排序”(python 排班表系列)

    样例展示:跳过节日的运动场地循环排序表(8个班级8组内容) 背景需求: 复工复学后,周计划做起来!每周的运动场地安排照旧-- 存在问题(一): 8个大班,靠着人工排序,每周都要推算一次这个规则,推演麻 ...

最新文章

  1. WebGoat教程学习(三)--Ajax安全
  2. linux下使用sort命令升序、降序、随机及组合方式排序方法
  3. 『科学计算』可视化二元正态分布3D科学可视化实战
  4. 声明式服务调用feign原理图解
  5. android 的listview 3大优化策略
  6. 万维钢_《高手——精英的见识和我们的时代》读书笔记_1
  7. kafka安装、配置、启动、常用命令及shell启动脚本编写
  8. 三个变量中怎么找出中间值_一文理解神经网络中的偏差和方差
  9. 常用公有云接入——AZURE
  10. 用python写一个简单的爬虫_用Python从零开始写一个简单爬虫
  11. 输油管的布置数学建模matlab,输油管的布置-数学建模.docx
  12. 在EXCEL中进行趋势拟合与预测的方法
  13. 虚幻引擎缓存路径修改
  14. 2021年PMP考试模拟题5(含答案解析)
  15. 仓储物流机器人:快仓、海柔创新“极速前进”
  16. 文档数据防泄密需求分析
  17. 为什么需要工作流调度系统?
  18. 一回来又恢复了往日的无聊生活
  19. 3个直播间直播未经审批的游戏,斗鱼遭罚款1万元
  20. 风影ASP.NET基础教学 12 GridView详解

热门文章

  1. 创业之前,这些你想过没有
  2. 小米推送的那些坑 :有的手机能收到推送,有的收不到,通知栏只能显示一个。。。。。
  3. 可进可退,jQuery图片、视频、flash播放插件prettyPhoto使用记录
  4. 录ppt的时候录光标_ppt同步录音和录屏 录屏录制步骤
  5. android killer去除火柴人广告
  6. 视频图像处理------人头识别
  7. 英语口语8000句-电话
  8. PHP+SQLite3简约网址导航、书签管理器网站源码/百素导航系统
  9. 刘清扬老师《银行对公营销》课程大纲
  10. niagara的插件下载_Niagara下载-Niagara桌面下载v0.31.1 中文版-西西软件下载