打印从1到n的反向数字和

时间:2018-10-30 06:40:13

标签: python

我正在学习python,我真的很想弄清楚如何编写代码,以得到大于1的输入a,输出应如下所示:

总和从1到a
2到a的总和
从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)

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您需要减去1 ... t的总和,而不是仅减去计数器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