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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言:51单片机 基础知识

一、单片机概述 单片机的组成及其特点 单片机是指在一块芯片上集成了CPU、ROM、RAM、定时器/计数器和多种I/O接口电路等,具有一定规模的微型计算机。 特点: 1、单片机的存储器以ROM、RAM严格分工。 2、采用面向控制的指令系统。 3、单片机的I/O口引脚通…

【计算机网络入门】初学计算机网络(六)

目录 1.回忆数据链路层作用 2. 组帧 2.1 四种组帧方法 2.1.1 字符计数法 2.1.2 字节填充法 2.1.3 零比特填充法 2.1.4 违规编码法 3. 差错控制 3.1 检错编码 3.1.1 奇偶校验码 3.1.2 CRC(循环冗余校验)校验码 3.2 纠错编码 3.2.1 海明校验码…

Materials Studio MS2020在linux系统上的安装包下载地址 支持centos Ubuntu rocky等系统

下载地址:MS2020-linux官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘 Materials Studio 2020是一款功能强大的材料科学计算模拟软件,以下是其详细介绍: 核心模块功能 CASTEP模块:采用平面波赝势方法,适用于周…

JSON Schema 入门指南:如何定义和验证 JSON 数据结构

文章目录 一、引言二、什么是 JSON Schema?三、JSON Schema 的基本结构3.1 基本关键字3.2 对象属性3.3 数组元素3.4 字符串约束3.5 数值约束 四、示例:定义一个简单的 JSON Schema五、使用 JSON Schema 进行验证六、实战效果6.1 如何使用 七、总结 一、引…

初探Ollama与deepseek

什么是Ollama?它与大模型有什么联系? 简单说,Ollama就像是你电脑上的一个 “大模型小助手”。 以前,很多强大的大语言模型,比如能回答各种问题、写文章、翻译等的那些模型,要么只能在网上的服务器上用&am…

【word】保存重开题注/交叉引用消失,全局更新域问题

目录 一、更新域是什么二、更新域常见问题及解决方法(一)更新域后内容未变化(二)域代码显示异常(三)交叉引用无法更新(四)全选更新域出现错误 三、交叉引用与题注的关系及操作&#…

区块链中的数字签名:安全性与可信度的核心

数字签名是区块链技术的信任基石,它像区块链世界的身份证和防伪标签,确保每一笔交易的真实性、完整性和不可抵赖性。本文会用通俗的语言,带你彻底搞懂区块链中的数字签名! 文章目录 1. 数字签名是什么?从现实世界到区块…

人工智能之数学基础:矩阵的范数

本文重点 在前面课程中,我们学习了向量的范数,在矩阵中也有范数,本文来学习一下。矩阵的范数对于分析线性映射函数的特性有重要的作用。 矩阵范数的本质 矩阵范数是一种映射,它将一个矩阵映射到一个非负实数。 矩阵的范数 前面我们学习了向量的范数,只有当满足几个条…

【MySQL】数据库初识

目录 一、什么是数据库 与数据结构的区别 各类软件(数据库)代表 关系型 vs 非关系型 关系型数据库 非关系型数据库 二、初识MySQL数据库 三、MySQL数据库安装 四、常用数据类型 内存 vs 硬盘 数值类型 字符串类型 日期类型 五、MySQL数据库…

Minio文件存储及Springboot集成

文章目录 Minio简介Minio安装使用下载Minio.exe启动访问WebUI MinIO基本概念Spingboot集成Minio设置本地Minio访问秘钥创建文件存储bucket项目pom.xml添加依赖配置文件修改Minio配置类Minio工具类定义HttpStatus定义统一返回结果定义controller类 总结 Minio简介 MinIO 是高性…

P8651 [蓝桥杯 2017 省 B] 日期问题--注意日期问题中2月的天数 / if是否应该连用

P8651 [P8651 [蓝桥杯 2017 省 B] 日期问题--注意日期问题中2月的天数 / if是否应该连用 题目 分析代码 题目 分析 代码中巧妙的用到3重循环,完美的解决了输出的顺序问题【题目要求从小到大】 需要注意的是2月的值,在不同的年份中应该更新2月的值 还有…

蓝桥杯练习代码

一、最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1: 输入:nums [-1,2,1,-4], targe…

Go中slice和map引用传递误区

背景 关于slice和map是指传递还是引用传递,很多文章都分析得模棱两可,其实在Go中只有值传递,但是很多情况下是因为分不清slice和map的底层实现,所以导致很多人在这一块产生疑惑,下面通过代码案例分析slice和map到底是…

DeepSeek如何快速开发PDF转Word软件

一、引言 如今,在线工具的普及让PDF转Word成为了一个常见需求,常见的PDF转Word工具有收费的WPS,免费的有PDFGear,以及在线工具SmallPDF、iLovePDF、24PDF等。然而,大多数免费在线转换工具存在严重隐私风险——文件需上…

perf(es5-widget): es5-widget.js文件优化时间戳生成逻辑

这个文件内部分代码逻辑推荐语法: cacheVersion widgetcfg.versionif (cacheVersion "time") {cacheVersion Date.now ? Date.now() : new Date().getTime(); } 改善优化 后续更新对应代码行 perf(es5-widget): 优化时间戳生成逻辑 将 "&quo…

【语法】C++中string类中的两个问题及解答

贴主在学习string类时遇到过两个困扰我的问题,今天拿出来给大家分享一下我是如何解决的 一、扩容时capacity的增长问题 在string的capacity()接口中,调用的是这个string对象的容量(可以存多少个有效字符),而size()是调用的string对象现在有…

Android 应用开发中,证书、签名和加固简述

目录 一、应用证书(Digital Certificate) 二、应用签名(APK Signing) 三、应用加固(Obfuscation & Protection) 三者的关系与协同 实际应用场景 总结 四、V1、V2、V3 签名方案的区别 1. V1 签名…

SpringMVC学习(初识与复习Web程序的工作流程)(1)

目录 一、SpringMVC(框架)的简要概述。 &#xff08;1&#xff09;SpringMVC与Servlet。 &#xff08;2&#xff09;技术方向。 &#xff08;3&#xff09;最终学习目标。 二、Web程序的基本工作流程。 &#xff08;1&#xff09;工作流程。 <1>浏览器。前后端任务。 <…

yunedit-post ,api测试比postman更好

postman应该是大家最熟悉的api测试软件了&#xff0c;但是由于它是外国软件&#xff0c;使用它的高端功能注册和缴费都比较麻烦。生成在线文档分享也经常无法访问被拦截掉。 这里可以推荐一下yunedit-post&#xff0c;该有的功能都有。 https://www.yunedit.com/postdetail …

DeepSeek 助力 Vue3 开发:打造丝滑的悬浮按钮(Floating Action Button)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…