正整数的升序和逆序打印范围 - Python

我想通过用户输入将输出打印为正数(没有 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 0

1 2 1 0

1 2 3 2 1 0

1 2 3 4 3 2 1 0


红颜莎娜
浏览 144回答 3
3回答

桃花长相依

您的索引只是稍微偏离了:user_range = int(input("Desired limit : ")) + 1for n in range(1, user_range):  print(*range(1, n+1),(*range(n-1, 0, -1)))输出:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1

哔哔one

这些范围和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))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python