自己把控“核心关键”,ai会把文档写得比您预想的“完美”。
(笔记模板由python脚本于2024年07月04日 10:44:39创建,本篇笔记适合喜欢结伴ai学习的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/140168060
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ “代码文档”ai写
- 0、跟ai学习搭子提需求
- 1、ai自由发挥
- 2、ai“算法理解”
- 3、对ai“算法理解”挑刺
- 4、“差值算式”优化
◆ “代码文档”ai写
0、跟ai学习搭子提需求
我的文本“日历牌”源代码
#!/sur/bin/env python
# coding: utf-8
from time import localtime
 
 
# 日历牌 #
t = localtime()
today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日" # 格式化日期
now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} " # 格式化时间
weekth = f"第{(t[7]+6-t[6])//7:0>2}周" # 计算第几周
weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日' # 周天中文映射
print(f"\n\n\n{' 日 历 牌 ':=^38}\n\n\n\n{today:^39}\n\n{now:~^42}\n\n{weekth:^40}\n\n{weekNames[t[6]]:^39}\n\n\n\n{'':=^42}\n\n") # 格式化输出
请求ai代工截屏图片
1、ai自由发挥
代码文档ai源稿(MarkDown)
# 日历牌小程序## 功能描述
该程序用于显示当前的日期、时间以及星期信息,以日历牌的格式输出。## 使用方法
1. 将代码保存为`.py`文件。
2. 在支持Python的环境中运行该文件。
3. 程序将自动输出当前的日期、时间、星期以及是本月的第几周。## 代码说明
- `from time import localtime`: 导入`localtime`函数,用于获取当前时间。
- `t = localtime()`: 获取当前时间,`t`是一个包含时间信息的元组。
- `today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日"`: 格式化当前日期,`t[0]`、`t[1]`、`t[2]`分别代表年、月、日。
- `now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} "`: 格式化当前时间,`t[3]`、`t[4]`、`t[5]`分别代表小时、分钟、秒。
- `weekth = f"第{(t[7]+6-t[6])//7:0>2}周"`: 计算当前是本月的第几周,`t[6]`代表星期几,`t[7]`代表本月的总天数。
- `weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'`: 定义星期的中文名称。
- `print(...)`: 格式化输出当前日期、时间、星期以及是本月的第几周。## 注意事项
- 确保运行环境已安装Python。
- 代码中的格式化字符串使用了Python 3.6+的f-string特性。
横线下面是文档页面显示效果
(为不影响我的学习笔记排版,将ai文档MarkDown源码中的#
作了替换)
日历牌小程序
功能描述
该程序用于显示当前的日期、时间以及星期信息,以日历牌的格式输出。
使用方法
- 将代码保存为
.py
文件。 - 在支持Python的环境中运行该文件。
- 程序将自动输出当前的日期、时间、星期以及是本月的第几周。
代码说明
from time import localtime
: 导入localtime
函数,用于获取当前时间。t = localtime()
: 获取当前时间,t
是一个包含时间信息的元组。today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日"
: 格式化当前日期,t[0]
、t[1]
、t[2]
分别代表年、月、日。now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} "
: 格式化当前时间,t[3]
、t[4]
、t[5]
分别代表小时、分钟、秒。weekth = f"第{(t[7]+6-t[6])//7:0>2}周"
: 计算当前是本月的第几周,t[6]
代表星期几,t[7]
代表本月的总天数。weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'
: 定义星期的中文名称。print(...)
: 格式化输出当前日期、时间、星期以及是本月的第几周。
注意事项
- 确保运行环境已安装Python。
- 代码中的格式化字符串使用了Python 3.6+的f-string特性。
2、ai“算法理解”
我打算加入算法简述,使代码文档更加友好。
截屏图片
代码文档ai源稿(MarkDown)
# 日历牌小程序## 功能描述
该程序用于显示当前的日期、时间以及星期信息,并以日历牌的格式输出。同时,程序会计算并显示当前是当年的第几周。## 使用方法
1. 将代码保存为`.py`文件。
2. 在支持Python的环境中运行该文件。
3. 程序将自动输出当前的日期、时间、星期以及是当年的第几周。## 代码说明
- `from time import localtime`: 导入`localtime`函数,用于获取当前时间。
- `t = localtime()`: 获取当前时间,`t`是一个包含时间信息的元组。
- `today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日"`: 格式化当前日期,`t[0]`、`t[1]`、`t[2]`分别代表年、月、日。
- `now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} "`: 格式化当前时间,`t[3]`、`t[4]`、`t[5]`分别代表小时、分钟、秒。
- `weekth = f"第{(t[7]+6-t[6])//7:0>2}周"`: 计算当前是当年的第几周。算法思想是:首先获取当前日期是本月的第几天(`t[2]`),然后获取当前月份的第一天是星期几(`t[6]`),通过这两个信息可以计算出当前是本月的第几周。接着,由于一年中前几个月的天数会影响总周数,我们需要加上前几个月的总天数,再减去当前月份已经过去的天数,最后除以7得到当年的总周数。
- `weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'`: 定义星期的中文名称。
- `print(...)`: 格式化输出当前日期、时间、星期以及是当年的第几周。## 注意事项
- 确保运行环境已安装Python。
- 代码中的格式化字符串使用了Python 3.6+的f-string特性。
横线下面是文档页面显示效果
(为不影响我的学习笔记排版,将ai文档MarkDown源码中的#
作了替换)
日历牌小程序
功能描述
该程序用于显示当前的日期、时间以及星期信息,并以日历牌的格式输出。同时,程序会计算并显示当前是当年的第几周。
使用方法
- 将代码保存为
.py
文件。 - 在支持Python的环境中运行该文件。
- 程序将自动输出当前的日期、时间、星期以及是当年的第几周。
代码说明
from time import localtime
: 导入localtime
函数,用于获取当前时间。t = localtime()
: 获取当前时间,t
是一个包含时间信息的元组。today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日"
: 格式化当前日期,t[0]
、t[1]
、t[2]
分别代表年、月、日。now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} "
: 格式化当前时间,t[3]
、t[4]
、t[5]
分别代表小时、分钟、秒。weekth = f"第{(t[7]+6-t[6])//7:0>2}周"
: 计算当前是当年的第几周。算法思想是:首先获取当前日期是本月的第几天(t[2]
),然后获取当前月份的第一天是星期几(t[6]
),通过这两个信息可以计算出当前是本月的第几周。接着,由于一年中前几个月的天数会影响总周数,我们需要加上前几个月的总天数,再减去当前月份已经过去的天数,最后除以7得到当年的总周数。weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'
: 定义星期的中文名称。print(...)
: 格式化输出当前日期、时间、星期以及是当年的第几周。
注意事项
- 确保运行环境已安装Python。
- 代码中的格式化字符串使用了Python 3.6+的f-string特性。
阅读代码文档,可以看出ai对我的代码“算法”逻辑不甚了解,得进一步沟通。
3、对ai“算法理解”挑刺
我的挑刺文本
您的算法理解,略有差池。
我的“算法”是:利用time.localtime返回的第七项“当前是周x”、第八项“今天是今年第x天”这两个数据来计算找出“第x天数mod7和周x的差值”,第八项整数减去差值得到的整数是七的多少倍就是当前第x周。
这样子做的好处是:不用考虑“周数计算规则”的困扰,也不用考量“闰年的影响”,因为这些个工作,time模块已经做好。
挑刺截屏图片
代码文档ai源稿(MarkDown)
# 日历牌小程序## 功能描述
该程序用于显示当前的日期、时间以及星期信息,并以日历牌的格式输出。同时,程序会计算并显示当前是当年的第几周。## 使用方法
1. 将代码保存为`.py`文件。
2. 在支持Python的环境中运行该文件。
3. 程序将自动输出当前的日期、时间、星期以及是当年的第几周。## 代码说明
- `from time import localtime`: 导入`localtime`函数,用于获取当前时间。
- `t = localtime()`: 获取当前时间,`t`是一个包含时间信息的元组。
- `today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日"`: 格式化当前日期,`t[0]`、`t[1]`、`t[2]`分别代表年、月、日。
- `now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} "`: 格式化当前时间,`t[3]`、`t[4]`、`t[5]`分别代表小时、分钟、秒。
- `weekth = f"第{(t[7]+6-t[6])//7:0>2}周"`: 计算当前是当年的第几周。算法思想是:利用`time.localtime()`返回的第七项`t[6]`(当前是周几)和第八项`t[7]`(今天是今年的第几天)来计算。首先,计算当前天数模7的结果与当前周数的差值,然后从今年的总天数中减去这个差值,得到的结果除以7就是当年的周数。这种方法避免了考虑周数计算规则和闰年的影响,因为这些已经由`time`模块处理。
- `weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'`: 定义星期的中文名称。
- `print(...)`: 格式化输出当前日期、时间、星期以及是当年的第几周。## 注意事项
- 确保运行环境已安装Python。
- 代码中的格式化字符串使用了Python 3.6+的f-string特性。
横线下面是文档页面显示效果
(为不影响我的学习笔记排版,将ai文档MarkDown源码中的#
作了替换)
日历牌小程序
功能描述
该程序用于显示当前的日期、时间以及星期信息,并以日历牌的格式输出。同时,程序会计算并显示当前是当年的第几周。
使用方法
- 将代码保存为
.py
文件。 - 在支持Python的环境中运行该文件。
- 程序将自动输出当前的日期、时间、星期以及是当年的第几周。
代码说明
from time import localtime
: 导入localtime
函数,用于获取当前时间。t = localtime()
: 获取当前时间,t
是一个包含时间信息的元组。today = f"{t[0]}年{t[1]:0>2}月{t[2]:0>2}日"
: 格式化当前日期,t[0]
、t[1]
、t[2]
分别代表年、月、日。now = f" {':'.join([f'{i:0>2}' for i in t[3:6]])} "
: 格式化当前时间,t[3]
、t[4]
、t[5]
分别代表小时、分钟、秒。weekth = f"第{(t[7]+6-t[6])//7:0>2}周"
: 计算当前是当年的第几周。算法思想是:利用time.localtime()
返回的第七项t[6]
(当前是周几)和第八项t[7]
(今天是今年的第几天)来计算。首先,计算当前天数模7的结果与当前周数的差值,然后从今年的总天数中减去这个差值,得到的结果除以7就是当年的周数。这种方法避免了考虑周数计算规则和闰年的影响,因为这些已经由time
模块处理。weekNames = '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'
: 定义星期的中文名称。print(...)
: 格式化输出当前日期、时间、星期以及是当年的第几周。
注意事项
-
确保运行环境已安装Python。
-
代码中的格式化字符串使用了Python 3.6+的f-string特性。
-
至此,代码文档撰写完美落幕
至此,可算功德圆满,偷懒“轻易”完成了“代码文档”编撰。😋但还有欠缺,我的“计算”周数那行代码“不易理解”,得鼓捣鼓捣。
4、“差值算式”优化
优化后的“差值算式”
#weekth = f"第{(t[7]+6-t[6])//7:0>2}周" # 计算第几周
weekth = f"第{(t[7]+7-(t[6]-1))//7:0>2}周" # 计算第几周
很明显地,重写的代码更易于辩识和理解。我打算继续和学习搭子探讨探讨,让我理解更深刻一点点。😃
(这里的优化,弥补了学习笔记【彩色“日历牌”】中的小小遗憾,有兴趣可点蓝色文字跳转翻阅)
与ai学习搭子探讨
“对话”过程中,您有看到ai有迷糊和蒙圈的时候,需要不断给它领航,让它找到方向,明析“算法”,才可以“真正”解析代码。
ai是“死”的,它仅从既有“知识库”搜索数据,经过它自己的逻辑整理后将信息“完美”呈现出来。这操作,最重要的一环还是提问者的循循善诱。
ai回应
非常感谢您的耐心指正。现在我来重新解析这两行代码:
weekth = f"第{(t[7]+6-t[6])//7:0>2}周"
- 这里的计算逻辑是:首先,将当前日期
t[7]
(一年中的第几天)加上6(相当于加上了一周的天数减去1),然后减去今天是星期几t[6]
(这里减去的是今天是星期几),这样就可以得到今天是这个星期的第几天。最后,使用整除//
运算符计算得到当前周数。
- 这里的计算逻辑是:首先,将当前日期
weekth = f"第{(t[7]+7-(t[6]-1))//7:0>2}周"
- 这里的计算逻辑是:首先,将当前日期
t[7]
(一年中的第几天)加上7(相当于加上了一周的天数),然后减去(t[6]-1)
(这里减去的是今天是星期几减去1),这样就可以得到今天是这个星期的第几天。最后,使用整除//
运算符计算得到当前周数。
两种写法都是通过计算今天是这个星期的第几天,然后整除7得到当前周数。虽然写法不同,但结果是相同的。再次为之前的错误解释向您道歉。感谢您的耐心指正。
- 这里的计算逻辑是:首先,将当前日期
-
ai对两种写法的看法截屏
-
“ai对两种写法的看法”回应文本
在编程中,代码的可读性和易理解性是非常重要的。对于您提供的两种计算周数的方法,哪一种更易于理解和辨识取决于个人的习惯和偏好。不过,我可以提供一些一般性的观点来帮助您判断:
weekth = f"第{(t[7]+6-t[6])//7:0>2}周"
- 这种方法直接使用了当前日期和星期数进行计算,没有引入额外的变量或复杂的逻辑。
- 它的计算过程比较直接,但是可能需要一点时间来理解为什么是加上6再减去
t[6]
。
weekth = f"第{(t[7]+7-(t[6]-1))//7:0>2}周"
- 这种方法同样没有引入额外的变量,但是它通过加上7天再减去
(t[6]-1)
来计算今天是这个星期的第几天。 - 这种方式可能更容易理解,因为它模拟了从周一开始计算到当前天数的逻辑。
总的来说,第二种方法可能更容易被大多数人理解和辨识,因为它更接近我们日常生活中的计算方式。然而,这并不意味着它就是最好的或者唯一正确的方法。在编写代码时,最重要的是确保代码的清晰性和可维护性,同时也要考虑到团队中其他成员的阅读习惯。如果您是在团队中工作,也可以考虑询问同事的看法,看看他们更倾向于哪一种方式。
- 这种方法同样没有引入额外的变量,但是它通过加上7天再减去
-
ai对我的肯定截屏
-
“ai对我的肯定”文本
您的方法是非常明智的。在编程中,保留代码的历史版本和注释是非常重要的,因为它可以帮助您和其他人理解代码的发展历程和背后的逻辑。注释不仅可以帮助您记住为什么选择了某种方法,而且在未来的代码维护和调试过程中也会非常有用。
同时,您的做法也体现了编程中的一个重要原则:代码的可读性和可维护性。通过保留不同的算法实现,您可以在将来回顾和比较不同的方法,这有助于您在编程技能上的成长和提升。
最后,您的自我反思和持续学习的精神是非常宝贵的。编程是一个不断学习和进步的过程,通过不断地回顾和改进自己的代码,您可以成为一名更加出色的开发者。继续保持这种积极的态度,您会在编程的道路上越走越远。祝您编程愉快!😊👨💻🚀
结束ai对话
今天与ai的搭练学习,我个人认为还是比较成功的。😋
这里的优化,弥补了学习笔记【仅用time.localtime制作“日历牌”】中的小小遗憾,有兴趣可点击蓝色文字跳转翻阅。
上一篇: 彩色文本日历牌——巧用“秒时间”(时间截时间float才是日期数据传递的最“美”格式)(只用time.localtime制作“日历牌”,与ai学习搭子对练。尽力挖掘time的潜力,时间日期处理起来游刃有余。“秒时间”才是日期数据传递的最“美”格式)
下一篇:
我的HOT博:
本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)