python - 如何用大写和小写字母打印每个 8 字母字符串?(在蟒蛇中)
问题描述
我的代码:
import time
letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
passwd = ""
while True:
for a in range(0,51):
passwd+=letters[a]
for b in range(0,51):
passwd+=letters[b]
for c in range(0,51):
passwd+=letters[c]
for i in range(0,51):
passwd+=letters[i]
for d in range(0,51):
passwd+=letters[d]
for e in range(0,51):
passwd+=letters[e]
for f in range(0,51):
passwd+=letters[f]
for j in range(0,51):
passwd+=letters[j]
print(passwd)
time.sleep(0.1)
passwd = ""
这就是我想要输出的:
AAAAAAAAA AAAAAAAB AAAAAAAZ ......... zzzzzzzx zzzzzzzy zzzzzzzz
我需要改变什么?
解决方案
您的代码可以通过删除passwd
-string 并print(letters[a]+letters[b]+...)
在最里面的循环中执行来修复。
但是,有八个嵌套循环并不是很优雅,所以这里有一个替代方案:
import itertools
import time
from string import ascii_letters
for word in itertools.product(ascii_letters, repeat=8):
print(''.join(word))
time.sleep(0.1)
然后,如果时间太长,请按 Ctrl+c :)
推荐阅读
- ansible - Ansible - 同步模块要求输入密码 - 还没有解决方案?
- javascript - 如何在电子邮件编辑器中的 Mozilla Thunderbird 52 中显示叠加层?
- tensorflow - tensorflow_model_server 如何将其 HTTP/REST 绑定到 0.0.0.0(默认 localhost)?
- cassandra - Cassandra DB,如何将巨大的 mp4 文件存储到 Cassandra DB 键空间中
- python - Flask:将自定义函数导入 API
- django - Django collectstatic 不适用于资产的嵌套目录
- matlab - 以特定格式将两列合并为一列
- spring - Spring redis缓存普通键
- terraform - 如何使用 terraform 删除网络 acl?
- linux - 无法在 Katacoda 操场上配置上下文/让 kubectl 在 node01 上工作