为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

红颜莎娜 2021-08-14 16:51:00
我想通过用户输入将输出打印为正数(没有 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


查看完整回答
反对 回复 2021-08-14
?
哔哔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))


查看完整回答
反对 回复 2021-08-14
  • 3 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信