Python:用数字制作金字塔
我试图在不重新分配的情况下,用数字构建一个金字塔 我可以用符号来实现这一点(见下文): 当用户输入金字塔高度为5且起始数字为1时,我试图获得的所需输出如下所示 期望输出:Python:用数字制作金字塔,python,Python,我试图在不重新分配的情况下,用数字构建一个金字塔 我可以用符号来实现这一点(见下文): 当用户输入金字塔高度为5且起始数字为1时,我试图获得的所需输出如下所示 期望输出: 1 234 56789 10111213141516 171819202122232425 试试这个: j = 1 for i in range(height): for k in range(1,height + i+1): if (k < height - i):
1
234
56789
10111213141516
171819202122232425
试试这个:
j = 1
for i in range(height):
for k in range(1,height + i+1):
if (k < height - i):
print(" ", end='')
else:
print(j, end='')
j+=1
print()
j=1
对于范围内的i(高度):
对于范围内的k(1,高度+i+1):
如果(k<高度-i):
打印(“”,结束=“”)
其他:
打印(j,end='')
j+=1
打印()
每个数字必须使用相同数量的字符-较短的数字必须使用空格-即,“10”
和“5”
应该使用两个字符。如果金字塔中有100个字符,那么所有的数字都必须使用三个字符——即“5”
,“10”
,“100”
“不重新指定”是什么意思?您知道需要绘制多少行,所以为此做一个for循环(而不是while),然后您可以计算出每行需要打印多少初始空格(height-rownum-1)(1假设您从行索引0开始)。然后打印1个数字,下一行打印3个,下一行打印5个,依此类推,只需在每行打印的数字上添加2个。这看起来像是家庭作业问题。
1
234
56789
10111213141516
171819202122232425
j = 1
for i in range(height):
for k in range(1,height + i+1):
if (k < height - i):
print(" ", end='')
else:
print(j, end='')
j+=1
print()