【发布时间】:2013-02-10 08:28:32
【问题描述】:
我对这个问题试图提出的问题感到困惑。
编写函数
mssl()(最小和子列表),将列表作为输入 整数。然后它计算并返回最大和的总和 输入列表的子列表。最大和子列表是一个子列表 条目总和最大的输入列表的(切片)。空的 子列表定义为总和为 0。例如,最大和子列表 列表中的[4, -2, -8, 5, -2, 7, 7, 2, -6, 5]是[5, -2, 7, 7, 2]并且其条目的总和是19。
如果我要使用这个函数,它应该返回类似于
>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0
我该怎么做?
这是我目前的尝试,但它没有产生预期的结果:
def mssl(x):
' list ==> int '
res = 0
for a in x:
if a >= 0:
res = sum(x)
return res
else:
return 0
【问题讨论】:
-
如果你无法解决头脑中的问题,那么你无法用计算机解决它。在编写任何代码之前,请尝试自己解决一些示例。当你有了一个可行的方法,然后编写算法。