Python |如何打印多行字母?

时间:2016-06-29 01:49:34

标签: python

我试图获得多行字母表,但它不起作用。目前我有一排但不行。

我所追求的是,​​当字母表从a转到z时,它会在aazz之前添加另一封信,然后再打开。< / 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))

1 个答案:

答案 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))