我想通过用户输入将输出打印为正数(没有 0)的回文三角形int(input()):for i in range(1,int(input())+1): print(*range(1, i+1),(*range(i-1, -1, -1)))或者像这样的固定范围:for n in range(1,5): print(*range(1, n+1),(*range(n-1, -1, -1))我可以让后者工作到这个程度,但我希望它没有 0。两个附加问题:1) 用户输入的 5 是否与范围内的硬编码 5 相同?2) 如何获得包含在输出中的 5?知道如何做到这一点吗?提前致谢。1 01 2 1 01 2 3 2 1 01 2 3 4 3 2 1 0
3 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
您的索引只是稍微偏离了:
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
哔哔one
TA贡献1854条经验 获得超8个赞
这些范围和splats的漂亮工作。我认为切片没有任何问题。
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))
添加回答
举报
0/150
提交
取消