| 论坛帮助 |
| 日历事件 |
|
|
只看该作者 #2 | |||
|
||||
|
正式会员
等级: 三袋长老
![]()
|
引用:
一、原代码存在的问题 字符集错误: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) |
|||
|
|
回复时引用此帖
|
|
|
只看该作者 #3 | |||
|
||||
|
正式会员
等级: 三袋长老
![]()
|
引用:
|
|||
|
|
回复时引用此帖
|