我试图在python中编写这个数字
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
但我只能像这样得到正确的
1
1 2
1 2 3
1 2 3 4
使用此代码:
def main ():
# create pattern 1
for i in range (1, 7,+1):
for j in range (1, i + 1):
print (j, end = " ")
print ()
print ()
main()
似乎最简单的方法是使用for循环,但我怎样才能得到左侧?任何帮助表示赞赏。
答案 0 :(得分:1)
这个怎么样:
for i in range(1,7,+1):
for l in range(7-i,1,-1):
print(" ",end="")
for k in range(i,1,-1):
print(k,end=" ")
for j in range(1,i+1):
print(j, end= " ")
print()
print()
我刚为循环添加了2个
l for for循环
用于左侧数字的循环
输出:
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
答案 1 :(得分:1)
尝试使用^
对齐选项。
^
强制字段在可用空间内居中。
num = 10
width = len(" ".join(map(str, range(num, 0, -1))) + " ".join(map(str, range(2, num + 1)))) + 1
print("{0:^{1}}".format("1", width))
for i in range(2, num + 1):
part1 = " ".join(map(str, range(i, 0, -1)))
part2 = " ".join(map(str, range(2, i + 1)))
print("{0:^{1}}".format(" ".join((part1, part2)), width))
答案 2 :(得分:0)
我不懂Python。但是你可以解释一下可以提供帮助的概念。
只要不打印数字,就应该打印空白。
金字塔的一行由空格,相反顺序的数字输出,数字输出(第一个除外)和空白输出组成。
例如,如果数字的限制为4,则第一行将有3个空白,1个反向输出,0个正常输出和3个空白输出。
我希望它会有所帮助。