在一行Python中从1到n求和

nht*_*rnm 1 python

给定数量的n,我需要从发现数字的总和1n.样本输入和输出:

100
5050
Run Code Online (Sandbox Code Playgroud)

所以我提出了print(sum(range(int(input())+1)))解决问题的方法,但是需要花费很长时间O(n).显然,如果我们知道电话号码n,那么答案可以在一个太行给出:print(n * (n+1) / 2)但如何更换n使用input()仍使工作方案?

Rem*_*ich 10

好像是Javascript; 创建一个带参数的函数n,然后立即调用它,结果为input():

(lambda n: n * (n + 1) / 2)(int(input()))
Run Code Online (Sandbox Code Playgroud)

  • 关闭,但如果您使用的是Python 3,则必须转换该输入().Python 3中的输入将返回一个字符串.除了那个完美的答案.所以像`(lambda i:i*(i + 1)/ 2)(int(input()))`就行了 (3认同)