CPC中文印刷社区

CPC中文印刷社区 (https://www.cnprint.org/bbs/index.php)
-   ◆- 数码印刷综合讨论区 (https://www.cnprint.org/bbs/forumdisplay.php?f=109)
-   -   AA01-AZ99 BA01-BZ99...ZA01-ZZ99python代码 (https://www.cnprint.org/bbs/showthread.php?t=366386)

zhouyuan_2002 2025-11-13 09:41

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)

478552055@qq.com 2025-11-13 16:39

引用:

作者: zhouyuan_2002 (帖子 2944345)
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

引用:

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

不知道啥东东,用ai查看的:haha:


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

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