用Python编写模式中的字母表

时间:2015-12-21 19:37:03

标签: 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

8 个答案:

答案 0 :(得分:5)

在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

答案 1 :(得分:3)

您还可以使用next

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

答案 2 :(得分:1)

print a(或print (a))会打印换行符。如果你想抑制换行,你可以写

print a,

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

答案 3 :(得分:0)

  • 在python 3中打印(a)之后放一个逗号。
  • 在python 2中你只需将end =“”放在print(a,end =“”)中

    #!usr/bin/env python
    for i  in range(1,6):
        for j in range(65,65+i):
            a =  chr(j)
            print (a),
            print
    

答案 4 :(得分:0)

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

答案 5 :(得分:0)

您的代码的问题是您没有在print语句中使用end =“”,因此需要使用end =“”,因为python print()函数默认在新行中打印,这就是为什么每次迭代正在跳入新的行。您的代码更正为:

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

答案 6 :(得分:0)

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

在这里,修改是在我刚刚添加了end参数的第一个打印语句中。

答案 7 :(得分:-1)

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

输出:

C

A                                                                                                                               

B                                                                                                                               

C                                                                                                                               

D                                                                                                                               

A                                                                                                                               

B                                                                                                                               

C                                                                                                                               

D                                                                                                                               

E