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

论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 属地江苏


http://www.kler.cn/a/569838.html

相关文章:

  • 【每日一题 | 2025】2.24 ~ 3.2
  • 给wordpress仪表盘添加自定义图标
  • 【网络安全 | 渗透测试】GraphQL精讲三:使用Burp进行渗透测试
  • 在Pycharm中将ui文件修改为py文件
  • vue精简面试题
  • 【软考-架构】备战2025软考
  • docker简介-学习与参考
  • 【Content-Type详解、Postman中binary格式、json格式数据转原始二进制流等】
  • 代码随想录算法【Day60】
  • Linux内核以太网驱动分析
  • ollama和open-webui部署ds
  • C++11特性(笔记二lambda,function)
  • VMware Ubuntu 共享目录
  • PDF文档中图片解析
  • 橙心同步助手更新,,支持博客园、头条和语雀
  • 不用写代码,批量下载今日头条文章导出excel和pdf
  • 傅里叶分析
  • 如何使用ArcGIS Pro制作横向图例:详细步骤与实践指南
  • 介绍如何使用生成对抗网络(GAN)和Cycle GAN设计用于水果识别的模型
  • ES 删除index 的curl