◆- 数码印刷综合讨论区 数码印刷、数码快印、可变数据印刷;惠普HP、富士施乐Fuji Xerox、柯美Konica Minolta、柯达Kodak、理光Ricoh、佳能Canon、奥西Océ、DI等数码机的选购使用维修交流;图文店,数码印刷店经营交流。

发表新主题 回复
 
只看楼主 主题工具
旧 2025-11-13, 09:41     #1
zhouyuan_2002 zhouyuan_2002 当前离线
正式会员
等级: 一袋长老
级别:5 | 在线时长:54小时 | 升级还需:6小时级别:5 | 在线时长:54小时 | 升级还需:6小时
 
Uid: 331312
注册日期: 2013-02-27, 10:24
帖子: 35
感谢: 1
4 个帖子获得 11 次感谢
现金: -28金币
资产: -28金币
声望: 10 zhouyuan_2002 向着好的方向发展
zhouyuan_2002 zhouyuan_2002 当前离线
正式会员
等级: 一袋长老
级别:5 | 在线时长:54小时 | 升级还需:6小时级别:5 | 在线时长:54小时 | 升级还需:6小时
 
Uid: 331312
注册日期: 2013-02-27, 10:24
帖子: 35
感谢: 1
4 个帖子获得 11 次感谢
现金: -28金币
资产: -28金币
声望: 10 zhouyuan_2002 向着好的方向发展
默认 AA01-AZ99 BA01-BZ99...ZA01-ZZ99python代码   



genecode.py:


chrs='ABCDEFGHIJKLMNOPQRSTOVWXYZ'

nums='0123456789'

for i in range(0, 26):

for j in range(0, 26):

for k in range(1, 100):

tt='0'+str(k)

strs=chrs[i]+""+chrs[j]+tt[len(tt)-2:len(tt)]

print(strs)
zhouyuan_2002 当前离线   回复时引用此帖回复时引用此帖
旧 2025-11-13, 16:39   只看该作者   #2
478552055@qq.com 的头像
478552055@qq.com 478552055@qq.com 当前离线
正式会员
等级: 三袋长老
级别:20 | 在线时长:484小时 | 升级还需:41小时级别:20 | 在线时长:484小时 | 升级还需:41小时
 
Uid: 687332
注册日期: 2020-05-04, 18:50
年龄: 27
帖子: 174
感谢: 33
4 个帖子获得 4 次感谢
现金: 238金币
资产: 238金币
声望: 10 478552055@qq.com 向着好的方向发展
478552055@qq.com 478552055@qq.com 当前离线
正式会员
等级: 三袋长老
级别:20 | 在线时长:484小时 | 升级还需:41小时级别:20 | 在线时长:484小时 | 升级还需:41小时
478552055@qq.com 的头像
 
Uid: 687332
注册日期: 2020-05-04, 18:50
年龄: 27
帖子: 174
感谢: 33
4 个帖子获得 4 次感谢
现金: 238金币
资产: 238金币
声望: 10 478552055@qq.com 向着好的方向发展
默认

引用:
作者: zhouyuan_2002 查看帖子
genecode.py:


chrs='ABCDEFGHIJKLMNOPQRSTOVWXYZ'

nums='0123456789'

for i in range(0, 26):

for j in range(0, 26):

for k in range(1, 100):

tt='0'+str(k)

strs=chrs[i]+""+chrs[j]+tt[len(tt)-2:len(tt)]

print(strs)
这段代码的功能是生成 两位大写字母 + 两位数字 的组合序列(例如 AA01、AA02... ZZ99),但存在几个细节问题和可优化点,下面逐一分析并提供改进方案:
一、原代码存在的问题
字符集错误:chrs 中少了字母 U(原字符串是 ABCDEFGHIJKLMNOPQRSTOVWXYZ,缺失 U),导致生成的组合中永远没有以 U 开头或第二位为 U 的情况。
数字处理冗余:tt='0'+str(k) 再截取后两位的写法不够简洁,且 k 从 1 到 99 时,str(k) 本身长度为 1 或 2,直接用 zfill(2) 补零更高效。
循环嵌套格式问题:原代码没有正确缩进(Python 中循环嵌套必须缩进),运行会报错 IndentationError。
无用变量:nums 变量定义后未使用,属于冗余代码。
二、修正后的代码

# 修正字符集(补充缺失的 U),优化数字补零逻辑,规范缩进
chrs = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 补充 U 字母

# 三层循环生成:两位字母 + 两位数字(AA01 ~ ZZ99)
for i in range(26):
for j in range(26):
for k in range(1, 100): # k 取值 1-99,对应 01-99
# 数字补零为两位(1→01,10→10,99→99)
num_str = str(k).zfill(2)
# 拼接结果(字母i + 字母j + 两位数字)
result = chrs[i] + chrs[j] + num_str
print(result)
478552055@qq.com 当前离线   回复时引用此帖回复时引用此帖
旧 2025-11-13, 16:42   只看该作者   #3
478552055@qq.com 的头像
478552055@qq.com 478552055@qq.com 当前离线
正式会员
等级: 三袋长老
级别:20 | 在线时长:484小时 | 升级还需:41小时级别:20 | 在线时长:484小时 | 升级还需:41小时
 
Uid: 687332
注册日期: 2020-05-04, 18:50
年龄: 27
帖子: 174
感谢: 33
4 个帖子获得 4 次感谢
现金: 238金币
资产: 238金币
声望: 10 478552055@qq.com 向着好的方向发展
478552055@qq.com 478552055@qq.com 当前离线
正式会员
等级: 三袋长老
级别:20 | 在线时长:484小时 | 升级还需:41小时级别:20 | 在线时长:484小时 | 升级还需:41小时
478552055@qq.com 的头像
 
Uid: 687332
注册日期: 2020-05-04, 18:50
年龄: 27
帖子: 174
感谢: 33
4 个帖子获得 4 次感谢
现金: 238金币
资产: 238金币
声望: 10 478552055@qq.com 向着好的方向发展
默认

引用:
作者: 478552055@qq.com 查看帖子
这段代码的功能是生成 两位大写字母 + 两位数字 的组合序列(例如 AA01、AA02... ZZ99),但存在几个细节问题和可优化点,下面逐一分析并提供改进方案:
一、原代码存在的问题
字符集错误:chrs 中少了字母 U(原字符串是 ABCDEFGHIJKLMNOPQRSTOVWXYZ,缺失 U),导致生成的组合中永远没有以 U 开头或第二位为 U 的情况。
数字处理冗余:tt='0'+str(k) 再截取后两位的写法不够简洁,且 k 从 1 到 99 时,str(k) 本身长度为 1 或 2,直接用 zfill(2) 补零更高效。
循环嵌套格式问题:原代码没有正确缩进(Pytho...
不知道啥东东,用ai查看的
478552055@qq.com 当前离线   回复时引用此帖回复时引用此帖
发表新主题 回复

主题工具

发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!

所有时间均为 +8, 现在的时间是 2025-12-01 04:56.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
 
Copyright © 2004-2022