Python 如何维护列表中的唯一项从而解决此问题?

Python 如何维护列表中的唯一项从而解决此问题?,python,python-3.x,jupyter-notebook,jupyter-lab,azure-notebooks,Python,Python 3.x,Jupyter Notebook,Jupyter Lab,Azure Notebooks,我需要创建一个提供解决方案的程序: 1 3 2 6 5 4 10 9 8 7 使用python 我已经尝试了三个多星期不同的想法,但我找不到解决办法。 我被允许使用的所有代码函数/命令都已在以下尝试中使用 各种尝试包括: 第一段代码显示了一些承诺,但它在x列表中不断得到重复项 尝试1 n=4 l=[0,1,2,3,4] x=[0] 对于0范围内的i,n+1: k=0 j=i 而KI: 打印j,结束= x、 附录 打印x k+=1 尝试2 n=4 打印1 对于范围2内的a,n: 对于范围为2的i,

我需要创建一个提供解决方案的程序:

1 3 2 6 5 4 10 9 8 7

使用python

我已经尝试了三个多星期不同的想法,但我找不到解决办法。 我被允许使用的所有代码函数/命令都已在以下尝试中使用

各种尝试包括:

第一段代码显示了一些承诺,但它在x列表中不断得到重复项

尝试1 n=4 l=[0,1,2,3,4] x=[0] 对于0范围内的i,n+1: k=0 j=i 而KI: 打印j,结束= x、 附录 打印x k+=1 尝试2 n=4 打印1 对于范围2内的a,n: 对于范围为2的i,n*2,a: j=i j+=i-1 打印j,结束= 而j>i: j-=1 打印j,结束= 打印 尝试3 n=4 l=[1,2,3,4] 对于0范围内的i,n: 对于范围为0的j,n*3,l[i]: 当j>=i时: 打印j,结束= j-=1 打印 产量应该是

1 3 2 6 5 4 10 9 8 7


以某种形式,但我从来没有得到它。

如果你不想要重复的值,你应该在x变量上使用set而不是list。

如果你不想要重复的值,你应该在x变量上使用set而不是list。

如果你只是想得到特定的输出,只知道n的值,然后你可以做:

n = 8

numbers = range(1, n * (n + 1) // 2 + 1)

for i in range(1, n + 1):
    head, numbers = numbers[:i], numbers[i:]
    print(*reversed(head))
输出


或者这个问题还有更多我不明白的地方吗?

如果你只是想得到特定的输出,只知道n的值,那么你可以:

n = 8

numbers = range(1, n * (n + 1) // 2 + 1)

for i in range(1, n + 1):
    head, numbers = numbers[:i], numbers[i:]
    print(*reversed(head))
输出


或者这个问题还有什么我不明白的吗?

cdlane给出的答案更像是python。这是简化的学校项目版本

n = 4

for i in range(1, n+1):
  max_num_in_line = i * (i+1)// 2  # this gives max number to be printed in line i
  for j in range(i): # here i is the total numbers to be printed in a line.
    print(max_num_in_line, end=' ')
    max_num_in_line -= 1
  print()

cdlane给出的答案更像是蟒蛇。这是简化的学校项目版本

n = 4

for i in range(1, n+1):
  max_num_in_line = i * (i+1)// 2  # this gives max number to be printed in line i
  for j in range(i): # here i is the total numbers to be printed in a line.
    print(max_num_in_line, end=' ')
    max_num_in_line -= 1
  print()

你可以考虑的一些想法:第n行包含n个值,最后一个值是1+2+…n,这等于n*n+1/2你可以考虑的一些想法:第n行包含n个值,最后一个值是1+2+…n,这等于n*n+1/2这似乎可以解决问题,但我还没有学会,所以我不能使用该代码。谢谢你@ScalyV:1我把答案简化了一点;2我们怎么知道你学过什么或还没有学过什么?对不起,我应该包括在内。我会进行编辑,但只是想让你知道,我已经使用了所有我学到的命令。但是也谢谢你的代码!这似乎可以解决问题,但我还没有学会,所以我不能使用该代码。谢谢你@ScalyV:1我把答案简化了一点;2我们怎么知道你学过什么或还没有学过什么?对不起,我应该包括在内。我会进行编辑,但只是想让你知道,我已经使用了所有我学到的命令。但是也谢谢你的代码!嘿,马胡德!我曾经考虑过使用集合,但是因为我们的课程没有涉及到集合,所以我不能使用集合。嘿,Mahund!我过去曾考虑过使用集合,但由于我们的课程没有涉及到集合,所以我不能使用集合。非常有帮助。非常有帮助。