我试图获得多行字母表,但它不起作用。目前我有一排但不行。
我所追求的是,当字母表从a
转到z
时,它会在aa
到zz
之前添加另一封信,然后再打开。< / p>
如同要求的那样,我目前的代码如下:
import string
alphabets = string.ascii_lowercase
for i in alphabets:
print(i)
alphabets = string.ascii_lowercase
if i == 'z':
for b in alphabets:
print('{}{}'.format(b, b))
print('{}{}'.format(b, b))
答案 0 :(得分:1)
我建议使用嵌套for循环。外部for循环将遍历字母表,而外部定义要添加给定字母的次数。请注意,某些字符串s乘以某个整数i重复该字符串i次。这给了我们:
for i in range(...) #However many instances of the alphabet you want
for j in range(26)
print(chr(ord('a')+j)*i)
编辑:上面的答案给出了&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39; ,&#39; zz&#39;等,这不是正在寻找的东西。
相反,我们将构造一个数组并反过来迭代它。我提出的代码有点难看,但它有效。特别为最后一行道歉。
def checkArr(arr):
for i in arr:
if i != 25:
return True
return False
arr = []
for i in range(5):
arr = []
for j in range(i+1):
arr.append(0)
while(checkArr(arr)):
s = ""
for j in arr:
s += chr(j + ord("a"))
print(s)
index = len(arr)-1
while (index > 0 and arr[index] == 25):
arr[index] = 0
index -= 1
arr[index] += 1
print("z"*(i+1))