【发布时间】:2021-03-30 13:16:05
【问题描述】:
no_elements = int(input())
seq = list(map(int, input().split()))
new_seq = []
diff = []
diff_opp = []
new_seq.append(seq[0])
for element in range(no_elements - 1):
diff.append(seq[element + 1] - seq[element])
for element in range(no_elements - 1):
diff[element] = -diff[element]
for diff_element in range(0, len(diff)):
print(diff_element)
for i in range(4):
print(i)
new_seq.append(diff[diff_element] + new_seq[i])
break
print(new_seq)
实际上,我希望我的嵌套(第 2 次)循环应该只执行 1 次并在每次执行时都中断,另外我还希望每次我说中断时不会重置 i 的值,因为我正在使用一个列表(new_seq),因为我不想使用相同的数字进行相同的工作,而是希望 i 的值不会改变,我可以对整个列表进行逻辑处理。
顺便说一句,我想计算列表中每两个元素之间的差异,然后找到它的倒数(符号的倒数)并找到一个从原始序列的第一个元素开始的新序列。
这是真正的问题。☝
【问题讨论】:
-
如果您能添加一些预期的输入和输出以使您更清楚您想要实现的目标,那将会很有帮助。
-
没错,不要使用input(),而只是明确给出数字作为例子,并给出预期的输出。这样你的问题就不清楚了
-
请看我编辑的问题
-
如果您想要使用 stdlib 的
functools.reduce获得不可读的单行,您可以使用reduce(lambda x, y: x + [x[-1] + y], [-(j - i) for i, j in zip(seq[:-1], seq[1:])], [seq[0]])。
标签: python python-3.x loops for-loop nested-loops