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

论coding能力 new bing 对比 chatgpt

近日需要编程计算每个月的第二个星期二是哪一天,因为那一天需要做一件重要的事情,我想在这个日期做一个提醒,于是把这个重任交给当下最火的AI,微软new bing和chatGPT,实验对比结果如下:微软new bing会给你参考文献和代码,辅助你去完成编程,不会给出编程的运行结果,而chatGPT更多是倾向给你完整的答案,包括代码和运行结果,然而有时候会出现言多必失的囧境,总的来说,二者都可以快速帮助程序员写代码。

提问:帮忙写一个python脚本,功能是打印每个月的第二个星期二

ailx10

1960 次咨询

网络安全优秀回答者

互联网行业 安全攻防员

去咨询

微软new bing的回答:

# 导入datetime模块
import datetime

# 定义一个函数,输入年份和月份,返回该月第二个星期二的日期
def second_tuesday(year, month):
  # 创建一个datetime对象,表示该月的第一天
  first_day = datetime.date(year, month, 1)
  # 获取该月第一天是星期几(0表示星期一,6表示星期日)
  weekday = first_day.weekday()
  # 计算该月第一个星期二是几号(如果第一天是星期二,则为1号,否则为8减去weekday)
  first_tuesday = 1 if weekday == 1 else 8 - weekday
  # 计算该月第二个星期二是几号(在第一个星期二的基础上加7天)
  second_tuesday = first_tuesday + 7
  # 返回一个datetime对象,表示该月第二个星期二的日期
  return datetime.date(year, month, second_tuesday)

# 定义一个循环,从2023年1月开始到2023年12月结束
for month in range(1,13):
  # 调用函数,打印每个月的第二个星期二的日期
  print(second_tuesday(2023, month))

# 运行结果:错误
2023-01-09
2023-02-13
2023-03-13
2023-04-10
2023-05-15
2023-06-12
2023-07-10
2023-08-08
2023-09-11
2023-10-09
2023-11-13
2023-12-11

稍加修改,该月第一个星期二的计算公式:(8- weekday)%7+1

# 导入datetime模块
import datetime

# 定义一个函数,输入年份和月份,返回该月第二个星期二的日期
def second_tuesday(year, month):
  # 创建一个datetime对象,表示该月的第一天
  first_day = datetime.date(year, month, 1)
  # print("first_day:{}".format(first_day))
  # 获取该月第一天是星期几(0表示星期一,6表示星期日)
  weekday = first_day.weekday()
  # print("weekday:{}".format(weekday))
  # 计算该月第一个星期二是几号(如果第一天是星期二,则为1号,否则为8减去weekday)
  first_tuesday = (8 - weekday)%7+1
  # print("first_tuesday:{}".format(first_tuesday))
  # 计算该月第二个星期二是几号(在第一个星期二的基础上加7天)
  second_tuesday = first_tuesday + 7
  # 返回一个datetime对象,表示该月第二个星期二的日期
  return datetime.date(year, month, second_tuesday)

# 定义一个循环,从2023年1月开始到2023年12月结束
for month in range(1,13):
  # 调用函数,打印每个月的第二个星期二的日期
  print(second_tuesday(2023, month))

# 运行结果:正确
2023-01-10
2023-02-14
2023-03-14
2023-04-11
2023-05-09
2023-06-13
2023-07-11
2023-08-08
2023-09-12
2023-10-10
2023-11-14
2023-12-12

再来看看chatGPT

import datetime

# 设置起始日期为2023年1月1日
start_date = datetime.date(2023, 1, 1)

# 循环打印每个月的第二个星期二的日期
for i in range(12):
    # 计算第二个星期二的日期
    day_of_week = 1  # 星期二对应的数字为1
    second_tuesday = start_date + datetime.timedelta(days=(day_of_week - start_date.weekday() + 7) % 7 + 7)

    # 打印输出
    print("{}年{}月第二个星期二是:{}".format(start_date.year, start_date.month, second_tuesday.strftime('%Y-%m-%d')))

    # 更新起始日期为下个月的第一天
    start_date = start_date.replace(month=start_date.month + 1, day=1)

# 运行结果:正确
2023年1月第二个星期二是:2023-01-10
2023年2月第二个星期二是:2023-02-14
2023年3月第二个星期二是:2023-03-14
2023年4月第二个星期二是:2023-04-11
2023年5月第二个星期二是:2023-05-09
2023年6月第二个星期二是:2023-06-13
2023年7月第二个星期二是:2023-07-11
2023年8月第二个星期二是:2023-08-08
2023年9月第二个星期二是:2023-09-12
2023年10月第二个星期二是:2023-10-10
2023年11月第二个星期二是:2023-11-14
2023年12月第二个星期二是:2023-12-12

其实,我是带有一点私心的,关于这个例子的描述,我情感上偏向了chatGPT,因为new bing限制了我的使用次数,实际上说心里话,chatGTP和new bing 都带给我很大的惊喜。

发布于 2023-03-06 22:34・IP 属地江苏

相关文章:

  • 安当防火墙登录安全解决方案:零信任认证+国密证书+动态口令构建全方位身份安全屏障
  • c语言中return 数字代表的含义
  • 2024 ChatGPT大模型技术场景与商业应用视频精讲合集(45课).zip
  • Playwright的测试定义为什么不写在测试类定义内部
  • C++二分图
  • Redis集群化方案对比:Codis、Twemproxy、Redis Cluster
  • Qt互斥锁(QMutex)的使用、QMutexLocker的使用
  • 基于单片机的GPS定位系统设计
  • 多线程经典案例
  • Vue3国际化开发实战:i18n-Ally + vue-i18n@next高效配置教程,项目中文显示
  • C 注释编写模版
  • redis的客户端连接的可视化管理工具
  • 基于 Ollama+Docker+OpenWebUI 的本地化部署deepseek流程
  • 高频 SQL 50 题(基础版)_626. 换座位
  • 6-2JVM解释器
  • 2025年企业网络安全实战指南:常见漏洞解析与全方位防御策略
  • 机器视觉Halcon支持这些协议或标准接口
  • 鸿蒙启动页开发
  • 对“预训练”的理解
  • 深入理解Spring @Async:异步编程的利器与实战指南
  • 日月谭天丨这轮中美关税会谈让台湾社会看清了什么?
  • 新能源汽车,告别混乱创新
  • 北京航空航天大学首个海外创新研究院落户巴西
  • 北京“准80后”干部兰天跨省份调任新疆生态环境厅副厅长
  • 《AI×SCIENCE十大前沿观察》9:合成数据和数据基础设施
  • 中美发布日内瓦经贸会谈联合声明达成关税共识,外交部回应