【办公类-16-07-04】合并版“2023下学期 中班户外游戏(有场地和无场地版,一周一次)”(python 排班表系列)

背景需求:

无场地版(贴周计划用)有场地版(贴教室墙壁上用) 组合在一起,一个代码生成两套。

【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环”(python 排班表系列)-CSDN博客文章浏览阅读769次,点赞11次,收藏21次。【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环”(python 排班表系列)https://blog.csdn.net/reasonsummer/article/details/136176883【办公类-16-07-03】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环、有场地、贴墙版”(python 排班表系列)-CSDN博客文章浏览阅读287次。【办公类-16-07-03】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环、有场地、贴墙版”(python 排班表系列)https://blog.csdn.net/reasonsummer/article/details/136187886

代码展示:


#20230217 '''
中班6个班级
2023学年下学期中班户外游戏安排_有场地和无场地 两个版本
(6个班级 每周玩一个场地5天,第二周轮换 )
作者:阿夏
时间:2024年2月20日
'''# import sys
# sys.path.append('/path/to/openpyxl')import sys
import random
import xlrd
import xlwt
from openpyxl import load_workbookimport time# '''班主任贴周计划用的(按班级分类)'''
weekweek=19
# int(input('共有几周?(如19周 20)\n'))
# aaa=int(input('1、需要场地、2、不要场地\n'))for aaa in [1,2]:print('---------第1步:制作每个班级的游戏的总表------')# 本学期:大1,大2,大3,大4,大5,大7,大8,大9班,其中6班空缺,一共有8个大班gradenum=[]for g in range(2,8):gradenum.append('中{}班'.format(g))print(gradenum)gradenum.insert(0, gradenum.pop())# ['2','3','4','5','6','7']print(len(gradenum))# 8L=[]# 班级L1=[]L3=[]  L2=[]L4=[]# 这里是8个活动室游戏活动室,因为后面有递进,所以把最后一个 08,放到01前面,这样摆放后面才会正确)# L3=['美术游戏','角色游戏','建构游戏','表演游戏','沙水游戏','角色游戏']原始L3=gradenum# 生成6个班级(第1个元素不同)for i in range(0,len(gradenum)):        # b = L3.pop(0)    # 在班级列表L3中 删除 第1个元素 大1班 先删除08,就是从01开始L3.append(b)  # 在班级列表L3最后 添加 第1个元素# print(L[0])L1.append(L3[0:len(gradenum)])     # 把不断变化的内容添加到L1 # 8个班级游戏活动室“基本元素“构成了L1列表:[['01', '02', '03', '04', '05', '06', '07', '08'], ['02', '03', '04', '05', '06', '07', '08', '01'], ['03', '04', '05', '06', '07', '08', '01', '02'], ['04', '05', '06', '07', '08', '01', '02', '03'], ['05', '06',  print(L1)# [['中2班', '中3班', '中4班', '中5班', '中6班', '中7班'], ['中3班', '中4班', '中5班', '中6班', '中7班', '中2班'], ['中4班', '中5班', '中6班', '中7班', '中2班', '中3班'], ['中5班', '中6班', '中7班', '中# 2班', '中3班', '中4班'], ['中6班', '中7班', '中2班', '中3班', '中4班', '中5班'], ['中7班', '中2班', '中3班', '中4班', '中5班', '中6班']]print(len(L1))# 6组基本    # 每周6个班级,基础模板6次 L=班级for b in range(4):        # 把各班“游戏活动室基本元素8个”循环21次,数量多一点,便于后期提取内容for y in L1:for z in y:    #抽取L1中的一组组内容  L1[0]=['01', '02', '03', '04', '05', '06', '07', '08']、L1[1]=['02', '03', '04', '05', '06', '07', '08', '01'],# 在用 y提取L1[0]中的'01', '02', '03', '04', '05', '06', '07', '08'三个元素L.append(z)     #把y提取的单个元素一个个加到列表里,并且依次循环22次,数量足够多print(L)# #    ['中2班', '中3班', '中4班', '中5班', '中6班', '中7班', '中3班', '中4班', '中5班', '中6班', '中7班', '中2班', '中4班', '中5班', '中6班', '中7班', '中2班', '中3班', '中5班', '中6班', '中7班', '中2班', '中3班', '中4班', '中6班', '中7班', '中2班', '中3班', '中4班', '中5班', '中7班', '中2班', '中3班', '中4班', '中5班', '中6班', '中2班', '中3班', '中4班', '中5班', '中6班', '中7班', '中3班', '中4班', '中# # 5班', '中6班', '中7班', '中2班', '中4班', '中5班', '中6班', '中7班', '中2班', '中3班', '中5班', '中6班', '中7班', '中2班', '中3班', '中4班', '中6班', '中7班', '中2班', '中3班', '中4班', '中5班', '中7 # # 班', '中2班', '中3班', '中4班', '中5班', '中6班', '中2班', '中3班', '中4班', '中5班', '中6班', '中7班', '中3班', '中4班', '中5班', '中6班', '中7班', '中2班', '中4班', '中5班', '中6班', '中7班', '中2班# # ', '中3班', '中5班', '中6班', '中7班', '中2班', '中3班', '中4班', '中6班', '中7班', '中2班', '中3班', '中4班', '中5班', '中7班', '中2班', '中3班', '中4班', '中5班', '中6班', '中2班', '中3班', '中4班', '中5班', '中6班', '中7班', '中3班', '中4班', '中5班', '中6班', '中7班', '中2班', '中4班', '中5班', '中6班', '中7班', '中2班', '中3班', '中5班', '中6班', '中7班', '中2班', '中3班', '中4班', '中6班', '中7班', '中2班', '中3班', '中4班', '中5班', '中7班', '中2班', '中3班', '中4班', '中5班', '中6班']print(len(L))# # 6组基本变出 144个班级,最后只要114个班级# print('---------第2步:六类游戏乘以19周(只有一个)------')  L4=['美术游戏(滑梯)','角色游戏','建构游戏(三楼露台)','表演游戏','沙水游戏(中庭)','角色游戏']L6=[]for v in range(weekweek):        # 19周a        for w in L4:# for l in range(5):# 美术游戏中1班一周玩5次,角色L6.append(w)print(L6)print(len(L6))# 114# 根据班级,增加角色、表演旁边的场地# 中2班角色游戏、表演游戏场地——树屋                         中3班角色游戏、表演游戏场地——小农场# 中4班角色游戏、表演游戏场地——大1班南门口                 中5班角色游戏、表演游戏场地——大3班南门口# 中6班角色游戏、表演游戏场地——天台                         中7班角色游戏、表演游戏场地——天台# a=len(room)# 6L5=[]# coom=['2','3','4','5','6','7']coom=['2','3','4','5','6','7']room=['树屋','小农场','大1班南门','大3班南门','天台','天台',]for cc in range(len(L6)):    if L6[cc]=='角色游戏' or L6[cc]=='表演游戏':          for kk in range(len(room)) :if L[cc]=='中{}班'.format(coom[kk]) :L5.append('{}({})'.format(L6[cc],room[kk]))  # if L[cc]=='中2班' :#     L5.append('{}(树屋)'.format(L6[cc]))# if L[cc]=='中3班' :#     L5.append('{}(小农场)'.format(L6[cc]))    # if L[cc]=='中4班' :#     L5.append('{}(大1班南门)'.format(L6[cc]))  # if L[cc]=='中5班' :#     L5.append('{}(大3班南门)'.format(L6[cc]))  # if L[cc]=='中6班' :#     L5.append('{}(天台)'.format(L6[cc]))  # if L[cc]=='中7班':#     L5.append('{}(天台)'.format(L6[cc]))  #  else:L5.append(L6[cc])# L5.append(L6[cc])print(L5)print(len(L5))# 240L7=[]for ff in L5:for ww in range(5):if aaa==1:L7.append(ff)        # 美术活动(操场)if aaa==2:L7.append(ff[:4])      # 美术活动print(L7)print(len(L7))# 570/5=114# #     print('---------第2步:如果一周有5天(不考虑跳过假日)------')# 限制19周的     for j in range(0,int(len(L7)/5)):#第1周L2.append(L7[j*5:j*5+5])print(L2)print(len(L2))# 114# L2=角色游戏等6类游戏的嵌套列表# # #     # print('---------第3步:如果每周需要跳过假日(考虑跳过假日)------')# # #     # #  每周需要的天数 (跳过节日.如第1周只有2天工作,9月1-2日(周四周五) ,第3周周一是中秋节放假1天,所以只有4个工作日)# # #     # day=['2','5','4','5','5','2','5','5','5','5','5','5','5','5','5','5','5','4','5','5','2']# # #     # print('中{}班'.format(gradenum[num]))# # #     # # 第1周# # #     # for d in range(0,1):          # d=索引数字# # #     #     print(L[0:int(day[0])]) # 列表有8个活动室项目,但只要其中5个(周一到周五)# # #     #     L2.append(L[0:int(day[0])]) # # #     # # 第2周开始# # #     # for d in range(1,len(day)):        # 0-21# # #     #     # print(d+1)# # #     #     L=L[int(day[d-1]):]  # day[0]=2,# # #     #     L.append(L) # 将a安排到最后一个座位# # #     #     print(L[0:int(day[d])])# 列表是八个循环,我只要其中5个# # #     #     L2.append(L[0:int(day[d])])# # #     # 以下是跳过假日的最初的写法,太长了,研究上面的是2022.9.9-2023.1.17 共21周的假日安排print('---------第4-1步:xls写入)------') workbook = xlwt.Workbook()# 新建xls工作簿sheet = workbook.add_sheet("Sheet")# 新建xls工作簿的工作表的名字是sheet print('---------第4-2步:第1行 写入 星期一等)------')    weeks = ['班级','周次','星期一','星期二','星期三','星期四','星期五',]# weeks=['周次','美术游戏','角色游戏','建构游戏','表演游戏','沙水游戏','角色游戏']week = len(weeks) col=0for d in range(0, len(weeks)):sheet.write(0,col,weeks[d])         # 因为只有一行,所以就用有两种写法(enumerate和这种)col+= 1 print('---------第4-3步:第2列写入周次)------')    # 第0列 写入“第1周、第2周、第3周……第21周dates=[]# 制作第一列的所有文字for i in range(1,int(weekweek+1)):for r in range(len(L4)):n="第{}周".format('%02d'%i)    # 用遍历方法获得“第1周、第2周、第21周”字样,dates.append(n)          # 添加到列表    sprint(dates)  print(len(dates))  #114 # 写入周次row=1for d in range(0, len(dates)):sheet.write(row, 1, dates[d])         # 这里enumerate不能用,因为只有一列,所以就用row += 1    print('---------第4-3步:第1列写入班级)------') # 写入班级列 L=班级列row=1for h in range(0, len(L[:len(dates)])):        # 只要班级列表的前114个        sheet.write(row,0,L[h])         # 因为只有一行,所以就用有两种写法(enumerate和这种)row += 1      print('---------第4-5步:第3-9列写入游戏内容一周五次相同)------') row=1    #  写入游戏内容列 L2=游戏内容一周五个for i in range((len(L2))):         # 遍历21组[]的总数for col,item in enumerate(L2[i],2):            # L2[i]=表格内的内容=item,索引数字=colsheet.write(row,col,item)  # row,col,item 行=1、列=索引数字、内容=表格内容 写入第一行第一列row += 1 #print('---------第5步:xls保存N份工作簿(每份一页)------')             try:workbook.save(r"C:\Users\jg2yXRZ\OneDrive\桌面\周计划\20240218 下学期中班户外游戏一周五天相同场地(班主任用).xls")    # 新建保存 只能xlsprint('计划生成成功')except e:print('失败...')print(e)# print('---------第6步:把1份xls按照班级,分类成N个不同的工作表内(班主任贴周计划用)------')      # https://blog.csdn.net/xo3ylAF9kGs/article/details/135856653# 切割成同表import pandas as pdimport osdf = pd.read_excel(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\20240218 下学期中班户外游戏一周五天相同场地(班主任用).xls')if aaa==1:writer = pd.ExcelWriter(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\20240218 下学期中班户外游戏一周五天相同有场地(班主任用).xls')if aaa==2:writer = pd.ExcelWriter(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\20240218 下学期中班户外游戏一周五天相同无场地(班主任用).xls')df.to_excel(writer, sheet_name='Sheet', index=False)for j in df['班级'].unique():df[df['班级'] == j].to_excel(writer, sheet_name=j+'户外游戏', index=False)writer.save()# 删除过渡EXCLE
os.remove(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\20240218 下学期中班户外游戏一周五天相同场地(班主任用).xls')

重点说明:

作品展示:

一、无场地版——贴周计划用(贴周计划上的空格,宽度有限,最好4个字符)

二、有场地版——贴墙用(便于每天查看活动内容和区域,尽量在A4一页上)

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

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

相关文章

论文阅读——ONE-PEACE

ONE-PEACE: EXPLORING ONE GENERAL REPRESENTATION MODEL TOWARD UNLIMITED MODALITIES 适应不同模态并且支持多模态交互。 预训练任务不仅能提取单模态信息,还能模态间对齐。 预训练任务通用且直接,使得他们可以应用到不同模态。 各个模态独立编码&am…

Maxwell安装部署

1 Maxwell输出格式 database:变更数据所属的数据库table:变更数据所属的表type:数据变更类型ts:数据变更发生的时间xid:事务idcommit:事务提交标志,可用于重新组装事务data:对于inse…

无人机数据链技术,无人机数据链路系统技术详解,无人机数传技术

早期的无人机更多的为军事应用服务,如军事任务侦查等,随着技术和社会的发展,工业级无人机和民用无人机得到快速的发展,工业级无人机用于农业植保、地理测绘、电力巡检、救灾援助等;民用无人机用于航拍、物流等等领域。…

美国Mercari煤炉注册教程,还不快来Get!

想要掘金全球电商市场,美国的Mercari平台绝对值得关注。Mercari,也被称作煤炉,类似于我们国内的闲鱼二手交易平台,它同时拥有美国和日本两个市场。其中,美国市场的消费需求稳定且持续增长,成为了许多跨境电…

医卫医学试题及答案,分享几个实用搜题和学习工具 #笔记#笔记#微信

收录了大量考试类型的题库,大到考公,小到知识竞赛,题库资源算是比较丰富的了。操作起来也不难,我们只需输入题目内容,即可快速搜索出答案,而且它在给出答案的同时还会附带解析。最重要的是,搜题…

​LeetCode解法汇总105. 从前序与中序遍历序列构造二叉树

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给定两个整…

2024年【N1叉车司机】考试题及N1叉车司机新版试题

题库来源:安全生产模拟考试一点通公众号小程序 N1叉车司机考试题是安全生产模拟考试一点通总题库中生成的一套N1叉车司机新版试题,安全生产模拟考试一点通上N1叉车司机作业手机同步练习。2024年【N1叉车司机】考试题及N1叉车司机新版试题 1、【多选题】…

【Linux系统化学习】动静态库 | 软硬链接

目录 硬链接和软链接 硬链接 软链接 动态库和静态库 静态库 静态库的生成 静态库的使用 将库打包和使用 动态库 动态库的生成 动态库的使用 库搜索路径 硬链接和软链接 硬链接 上篇文章我们说到真正找到磁盘上的文件并不是文件名,而是inode。其实在…

Day 6.文件属性和权限的获取

时间获取 1.time time_t time(time_t *tloc); 功能: 返回1907-1-1到现在的秒数(格林威治时间) 参数: tloc:存放秒数空间的首地址 返回值: 成功返回秒数 失败返回-1 2.localtime struct tm *loca…

Python入门:常用模块—logging模块

logging日志的分级: debug(),info(),warning(),error(),critical() 5个级别 最简单用法 1 2 3 4 import logging logging.warning("user [mike] attempted wrong password more than 3 times") logging.critical("server is down") 输出&…

普中51单片机学习(二)

51单片机介绍 所需基础知识 基础数模电知识,简单的C语言。 PS:如果有不懂的直接通义千问。。。 什么是单片机 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 学习方法 多实…

Sqoop 入门基础

简介 Sqoop(SQL to Hadoop)是一个开源工具,用于在关系型数据库和Hadoop之间传输数据。它提供了一种快速高效的方式,将数据从关系型数据库导入到Hadoop集群进行分析,并支持将Hadoop集群中的数据导出到关系型数据库中。本…

智慧社区管理系统:构建未来的生活模式

在这个信息化、智能化的时代,我们期待的不再是简单的居住空间,而是一个集安全、便捷、舒适、环保于一体的智能化社区。为此,我们推出了全新的智慧社区管理系统,旨在将先进的科技力量引入社区管理,为居民提供更优质的生…

OpenProject + Rocky8安装

文章目录 1、概要2、整体架构流程3、准备4、安装5、openproject 配置5.1、第一步:OpenProject 版本选择5.2、第二步:PostgreSQL 支持5.3、第三步:Apache2 Web 服务器支持5.4、第四步:hostname 支持5.5、 第五步:服务器…

【Docker】Docker存储卷

文章目录 一、什么是存储卷二、为什么需要存储卷三、存储卷分类四、管理卷Volume创建卷方式一:Volume 命令操作方式二:-v 或者--mount 指定方式三:Dockerfile 匿名卷 操作案例Docker 命令创建管理卷Docker -v 创建管理卷Docker mount 创建管理…

unity学习(32)——跳转到角色选择界面(父子类问题)

新问题 应该是两个脚本之间缺少继承关系 its children 解决起来很简单,把ResceneScript也绑到canvas上就可以了 。 此时,在账号密码正确的情况下,是可以完成场景切换。 对应的代码如下: TMP_Text d GameObject.FindWithTag(&…

接口测试(postman/jmeter)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是接口测试 通常做的接口测试指的是系统对外的接口&am…

Window部署Nacos

Nacos 现在压缩包解压后,修改conf/application.properties 文件 取消注释,修改mysql连接方式 节点nacos.core.auth.enabled 改成true 设置节点nacos.core.auth.server.identity.key、nacos.core.auth.server.identity.value 设置secret秘钥,…

十大常见web漏洞及防范

十大常见web漏洞 一、SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的S…

javascript选择器大全

目录 1.getElementsByTagName 2.getElementsByName 3.getElementById 4.getElementsByClassName 5.querySelector 6.querySelectorAll 1.getElementsByTagName 俗称标签选择器&#xff0c;可以根据标签名查找匹配到页面的元素对象&#xff0c;返回为一个数组。 <div&…