当前位置: 首页 > news >正文

GPT帮我快速解决工作上的问题案例


Python入门容易,但精通不易。自从跟着郭老师学Python后,工作中也想偷点懒,之前排班表的问题一直困扰着我,福音来了,现在随着郭老师的小蜜蜂AI出来,说干就干。马上来到郭老师为我们提供的AI网站:http://zglg.work/index.html,选择AI智能问答,输入我想问的问题:

用python帮我写一个排班表,其中人数不定,有三种班期,按月份来输出。
好的,我可以帮你生成一个按日期排列的一个月排班表。请注意,下面的代码示例假设每个月都是30天,并且使用了三种班期轮班。
import datetimedef generate_monthly_schedule(employees, month, start_day):schedules = []shifts = ['班期1', '班期2', '班期3']  # 三种班期days_in_month = 30  # 假设每个月都是30天for i, employee in enumerate(employees):schedule = {'姓名': employee}current_date = start_dayfor day in range(days_in_month):shift = shifts[day % len(shifts)]schedule[current_date.strftime('%Y-%m-%d')] = shiftcurrent_date += datetime.timedelta(days=1)schedules.append(schedule)return schedules# 示例使用
employee_list = ['张三', '李四', '王五']  # 员工名单
month = 9  # 月份
start_day = datetime.date(2022, month, 1)  # 开始日期schedule_list = generate_monthly_schedule(employee_list, month, start_day)# 输出结果
for schedule in schedule_list:print(schedule)
若两天才换一次班呢
import datetimedef generate_monthly_schedule(employees, month, start_day, days_in_month):schedules = []shifts = ['班期1', '班期2', '班期3']  # 三种班期days_in_month = days_in_month  # 假设每个月都是30天days_per_shift = 2  # 每两天轮一次班for i, employee in enumerate(employees):schedule = {'姓名': employee}current_date = start_day + datetime.timedelta(days=i * days_per_shift)  # 根据员工顺序错开日期shift_index = (i // (days_per_shift * len(shifts))) % len(shifts)  # 根据员工顺序错开班期for day in range(days_in_month):shift = shifts[shift_index]schedule[current_date.strftime('%Y-%m-%d')] = shiftcurrent_date += datetime.timedelta(days=1)if (day + 1) % days_per_shift == 0:shift_index = (shift_index + 1) % len(shifts)schedules.append(schedule)return schedules# 示例使用
employee_list = ['员工1', '员工2', '员工3']  # 员工名单
month = 1  # 月份
start_day = datetime.date(2024, month, 1)  # 开始日期schedule_list = generate_monthly_schedule(employee_list, month, start_day, 31)# 输出结果
for schedule in schedule_list:print(schedule)

在这个修改过的代码中,我们添加了一个 days_per_shift 变量来表示每几天换一次班。在遍历每天生成排班表时,通过 (day+1) % days_per_shift == 0 判断是否需要换班。如果需要换班,我们将 shift_index 增加1,并使用取模运算符 % 来确保在三种班期之间循环。

请注意,在这个示例中,我们仍然假设每个月是30天。如果实际情况中月份的天数不同,请相应地调整 days_in_month 变量的值。

三下五除二,马上AI就帮我写出来了,前后1分钟不到就帮我解决了问题。看来以后较量的不是知识面的宽广,而是使用AI的好坏的。各位看观,赶快来跟着郭老师一起来学习AI吧。

注:小蜜蜂AI

相关文章:

  • Vue-Clipboard3:轻松实现复制到粘贴板功能
  • 前端基础:回顾es6相关知识
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • docker使用Dockerfile制做容器(以hyperf为列,开机启动)
  • SpiderFlow爬虫平台漏洞利用分析(CVE-2024-0195)
  • 基于双向长短期神经网络的客流量预测,基于bilstm的客流量预测
  • [MySQL]基础的增删改查
  • Java代码审计Shiro反序列化CB1链source入口sink执行gadget链
  • P2717 寒假作业 CDQ
  • GitHub Copilot 与 OpenAI ChatGPT 的区别及应用领域比较
  • 数据结构之顺序表的增删查改
  • 智能安全帽定制_基于联发科MT6762平台的智能安全帽方案
  • Spring Boot多环境配置
  • Winform使用Webview2(Edge浏览器核心)实现精美教程目录
  • PHP AES加解密示例【详解】
  • [译]Python中的类属性与实例属性的区别
  • 【Amaple教程】5. 插件
  • Android系统模拟器绘制实现概述
  • Angular 响应式表单 基础例子
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • java中的hashCode
  • LeetCode29.两数相除 JavaScript
  • nodejs调试方法
  • PAT A1017 优先队列
  • Python - 闭包Closure
  • Python连接Oracle
  • ReactNative开发常用的三方模块
  • Redis在Web项目中的应用与实践
  • Ruby 2.x 源代码分析:扩展 概述
  • Solarized Scheme
  • supervisor 永不挂掉的进程 安装以及使用
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 从tcpdump抓包看TCP/IP协议
  • 关于springcloud Gateway中的限流
  • 基于Android乐音识别(2)
  • 力扣(LeetCode)357
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 在Mac OS X上安装 Ruby运行环境
  • 怎么将电脑中的声音录制成WAV格式
  • 你对linux中grep命令知道多少?
  • 昨天1024程序员节,我故意写了个死循环~
  • ​卜东波研究员:高观点下的少儿计算思维
  • #android不同版本废弃api,新api。
  • #includecmath
  • (27)4.8 习题课
  • (4)STL算法之比较
  • (HAL库版)freeRTOS移植STMF103
  • (python)数据结构---字典
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (六)vue-router+UI组件库
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (四)【Jmeter】 JMeter的界面布局与组件概述