Python 求和程序
我正在尝试创建一个简单的函数,该函数将接受给定0中整数的求和数。例如,如果用户输入整数3,结果将是6,因为0+1+2+3=6 做这件事最好/最有效的方法是什么 最后,我想创建一个循环,用于列表,用户输入列表[4,5,6],函数返回[10,15,16]Python 求和程序,python,function,integer,sum,Python,Function,Integer,Sum,我正在尝试创建一个简单的函数,该函数将接受给定0中整数的求和数。例如,如果用户输入整数3,结果将是6,因为0+1+2+3=6 做这件事最好/最有效的方法是什么 最后,我想创建一个循环,用于列表,用户输入列表[4,5,6],函数返回[10,15,16] 提前谢谢 对于单个输入,您可以使用 def summer(n): # Create a list of numbers from 0 to n. # The range function is an end-exclusive
提前谢谢 对于单个输入,您可以使用
def summer(n):
# Create a list of numbers from 0 to n.
# The range function is an end-exclusive range
return sum(range(n+1))
对于多个输入,使用map
功能
def multisummer(ns):
return map(summer, ns)
对于单个输入,您可以使用
def summer(n):
# Create a list of numbers from 0 to n.
# The range function is an end-exclusive range
return sum(range(n+1))
对于多个输入,使用map
功能
def multisummer(ns):
return map(summer, ns)
求和函数在这里很有用
def findsum(x):
# The 0 is optional, but it makes it clear that you are starting from 0.
return sum(range(0, x + 1))
例如:
>>> findsum(6)
21
>>> mysum2([4, 5, 6, 10000000000000])
[10, 15, 21, 50000000000005000000000000]
>>>
求和函数在这里很有用
def findsum(x):
# The 0 is optional, but it makes it clear that you are starting from 0.
return sum(range(0, x + 1))
例如:
>>> findsum(6)
21
>>> mysum2([4, 5, 6, 10000000000000])
[10, 15, 21, 50000000000005000000000000]
>>>
时间复杂度:O(n)
结果:[10,15,21]
时间复杂度:O(n)
结果:[10,15,21]
存在一个具有恒定时间(而非线性时间)的封闭形式的解,它将比任何迭代解快得多。
/
divide操作符强制生成一个整数结果(如果您使用的是Python 3)
如果要将其应用于列表,可以使用map
:
def mysum2(li):
return map(mysum, li)
或者,您可以直接执行此操作,而无需使用mysum
(这将是最快的):
与迭代解相比,闭式解的值要大得多。例如:
>>> findsum(6)
21
>>> mysum2([4, 5, 6, 10000000000000])
[10, 15, 21, 50000000000005000000000000]
>>>
使用求和的解决方案在这种情况下永远不会返回结果。存在一个具有恒定时间(而非线性时间)的封闭形式的解决方案,它将比任何迭代解决方案快得多。
/
divide操作符强制生成一个整数结果(如果您使用的是Python 3)
如果要将其应用于列表,可以使用map
:
def mysum2(li):
return map(mysum, li)
或者,您可以直接执行此操作,而无需使用mysum
(这将是最快的):
与迭代解相比,闭式解的值要大得多。例如:
>>> findsum(6)
21
>>> mysum2([4, 5, 6, 10000000000000])
[10, 15, 21, 50000000000005000000000000]
>>>
对于这种情况,使用
sum
的解决方案将永远不会返回结果。您似乎想要使用函数。您似乎想要使用函数。这甚至不接近于“最好/最有效的方法”。这甚至不接近于“最好/最有效的方法”。这甚至不接近于“实现这一点的最佳/最有效方法”。但这不是问题。告诉我,你的函数为findsum(1000000000)
提供了什么结果?这甚至还不接近“实现这一点的最佳/最有效方法”。但这不是问题。告诉我,你的函数为findsum(1000000000)提供了什么结果
?