python - 如何一个接一个地打印字母并扩展它
问题描述
我有我的字母表并希望它一个接一个地继续
举个例子:
"a"
"b"
"c"
...
当从“a”到“z”发生这种情况时,我希望我的代码添加一个字母。
举个例子:
"aa"
"ab"
"ac"
"ad"
...
并想问这是否适用于变量
编辑评论我的代码(现在):
import time
char_abc = "abcdefghijklmnopqrstuvwxyz"
char_ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in char_abc:
print(i)
time.sleep(0.1)
for j in char_ABC:
print(j)
time.sleep(0.1)
# for a in char_abc + char_ABC: #
# print(a) # This is only a test
# time.sleep(0.1) #
为了解决这个误解,我删除了 ord() 函数只处理变量的句子
解决方案
您可以创建一个函数来生成字母表长度增加的笛卡尔积。
我itertools.count
用来跟踪从 1 开始的计数器,并在每次外循环重新启动时递增。然后内部循环负责通过以下方式生成实际的字母组合itertools.product
def cycle_abc():
char_abc = "abcdefghijklmnopqrstuvwxyz"
for i in itertools.count(1):
for combo in itertools.product(char_abc, repeat=i):
yield "".join(combo)
for letters in cycle_abc():
print(letters)
# a
# b
# c
# ...
# aa
# ab
# ac
# ...
# ba
# bb
# bc
# ...
推荐阅读
- javascript - ReactJS 错误:元素类型无效:需要一个字符串(对于内置组件)
- sql - 出现“表或视图不存在”的 ORA-00942 错误
- c++ - GCC 语句表达式中的执行顺序
- javascript - 在组件中找不到 React useState
- python - 每次迭代后在数组中推送一个元素,包括列长度
- jenkins - Jenkins 使用 Google 登录后显示 404 页面
- html - 在边框中间剪开
- linux - 在 Linux VM 上安装 pycryptodome
- python - 设置 QTreeWidget 等于列宽
- docker - Docker 检查不适用于 Jenkins 管道中的某些图像