如何在 for 循环中将每个新行增加 1 或更多?
How do I increase each new line by 1 or more in a for loop?
正在尝试打印执行以下操作的数字三角形:
numTri(6)
1
23
456
编辑:(全部换行)
我目前拥有的:
def numTri(n):
a = 0
for x in range(1,n+1):
a = 10*a + x
print a
有什么提示吗?我不想要答案。一些指导将不胜感激。
正如您所说的指导。
Python代码
def numTri(n):
a=1
col_per_row=1
while a<=n:
s=""
for y in range(1,col_per_row+1):
s+=str(a)
a=a+1
col_per_row=col_per_row+1
if(a==n+1):
print(s),
else:
print(s)
- print语句后面的逗号是为了避免在Python-2
中换行
- 在Python-3中可以使用
print(s,end="")
1.How to print in python without newline or space?
Woot 这是我的第一个 post! (编辑:我 post 编辑了 python 代码,因为其他人已经 post 编辑了完整的答案)。
下面从不同的角度解决这个问题,只需要一个循环。希望这有帮助。
def numTri(n):
x = list(range(1,n+1)) #creates a list of numbers ([1],[2],...,[n])
i = 0
ln = 1
while i < n+1:
print(x[i:i+ln]) #prints a partition of the list of numbers
i += ln
ln += 1
注意:您可能需要调整打印功能,我使用的是 python 3.5
正在尝试打印执行以下操作的数字三角形: numTri(6)
1
23
456
编辑:(全部换行) 我目前拥有的:
def numTri(n):
a = 0
for x in range(1,n+1):
a = 10*a + x
print a
有什么提示吗?我不想要答案。一些指导将不胜感激。
正如您所说的指导。
Python代码
def numTri(n):
a=1
col_per_row=1
while a<=n:
s=""
for y in range(1,col_per_row+1):
s+=str(a)
a=a+1
col_per_row=col_per_row+1
if(a==n+1):
print(s),
else:
print(s)
- print语句后面的逗号是为了避免在Python-2 中换行
- 在Python-3中可以使用
print(s,end="")
1.How to print in python without newline or space?
Woot 这是我的第一个 post! (编辑:我 post 编辑了 python 代码,因为其他人已经 post 编辑了完整的答案)。 下面从不同的角度解决这个问题,只需要一个循环。希望这有帮助。
def numTri(n):
x = list(range(1,n+1)) #creates a list of numbers ([1],[2],...,[n])
i = 0
ln = 1
while i < n+1:
print(x[i:i+ln]) #prints a partition of the list of numbers
i += ln
ln += 1
注意:您可能需要调整打印功能,我使用的是 python 3.5