我写了这个程序:
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
答案 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 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