0

我正在学习 python,我真的很难弄清楚如何编写这个代码,我得到一个a大于 1 的输入并且输出应该是这样的:

从 1 到
sum 从 2 到
sum 从 3 到 a
...

例如对于 5,输出应该是:

15
14
12
9
5

这是我到目前为止所拥有的

a=int(input())
for t in range(a):
    b=a*(a+1)/2
    b=b-t
    print(a+t)

我似乎无法弄清楚如何从反向中减去它以及如何在此过程中打印每个结果

4

2 回答 2

3

以下将起作用:

a = int(input())
# s = sum(range(1, a+1))
s = a * (a+1) // 2

for t in range(1, a+1):
    print(s)
    s -= t

a = 5:

15
14
12
9
5
于 2018-10-30T06:43:32.830 回答
0

t您需要减去 1 ... 的总和,而不是只减去计数器t
否则你的代码不需要更改,我只是将强制添加到 int 中。

a = int(input())
for t in range(a):
    b=a*(a+1)//2
    c=t*(t+1)//2
    b=b-c
    print(b)

输出:

15
14
12
9
5
于 2018-10-30T07:01:42.607 回答