Python中的字母模式程序

2024-05-13 02:45:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了这个程序:

for i  in range(1,6):
    for j in range(65,65+i):
        a =  chr(j)
        print (a)
    print

我想按如下方式打印图案:

A
A B
A B C
A B C D
A B C D E

但我没有得到想要的结果

我得到了

A

A
B

A
B
C

A
B
C
D

A
B
C
D
E

Tags: in程序for方式rangeprint图案chr
3条回答

也可以使用str.join使用string.ascii_uppercase

from string import ascii_uppercase
for i in range(1, 6):
    print(" ".join(ascii_uppercase[:i]))

或者使用范围逻辑:

for i in range(1, 6):
    print(" ".join(chr(j) for j in range(65, 65 + i)))

print a(或print (a))将打印换行符。如果你想取消换行符,你可以写

print a,

有关更多信息,请参见问题:Printing without newline (print 'a',) prints a space, how to remove?

在python 2中,只需在print语句后面加一个逗号:

for i in range(1, 6):
    for j in range(65, 65+i):
        a = chr(j)
        print a,
    print

对于python 3,或者在使用from __future__ import print_function的python 2中,您可以这样做:

for i in range(1, 6):
    for j in range(65, 65+i):
        a = chr(j)
        print(a, end=" ")
    print()

注意,我放了一个空格(" ")作为结束字符。您可以将其设置为"",输出将没有空格,如下所示:

A
AB
ABC
ABCD
ABCDE

相关问题 更多 >