我想通过用户输入kubectl
将输出打印为正数回文三角形(不带0):
int(input())
或像这样的固定范围:
for i in range(1,int(input())+1):
print(*range(1, i+1),(*range(i-1, -1, -1)))
我可以让后者工作到这个程度,但是我希望它没有0。另外两个问题:1)用户输入的5与范围内的硬编码5是否相同? 2)如何获得输出中包含的5个?知道如何做到这一点吗?预先感谢。
for n in range(1,5):
print(*range(1, n+1),(*range(n-1, -1, -1))
答案 0 :(得分:4)
您的索引编制过时了:
user_range = int(input("Desired limit : ")) + 1
for n in range(1, user_range):
print(*range(1, n+1),(*range(n-1, 0, -1)))
输出:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
答案 1 :(得分:0)
这是您想要的吗?我们不是在对5进行硬编码,而是要求用户输入。以及对索引的略微修改。
for i in range(1,int(input("Enter number : "))+1):
print(*range(1,i+1), *range(i-1,-1,-1))
输出:
Enter number : 7
1 0
1 2 1 0
1 2 3 2 1 0
1 2 3 4 3 2 1 0
1 2 3 4 5 4 3 2 1 0
1 2 3 4 5 6 5 4 3 2 1 0
1 2 3 4 5 6 7 6 5 4 3 2 1 0
答案 2 :(得分:0)
使用这些范围和splat可以很好地工作。我没发现切片有什么问题。
for n in range(1,5):
print(*range(1, n+1), *range(n-1, -1, -1)[:-1])
有人说了这话,似乎也一样:
for n in range(1,5):
print(*range(1, n+1), *range(n-1, 0, -1))