从头开始创建max函数(python)

时间:2016-07-27 20:08:38

标签: python python-2.7 function max

所以我正在尝试创建一个从头开始确定一组值的最大值的函数。

我不确定如何在找到新的Max之后让函数更改Max的新值,我也不确定我对args的使用是否正确。

def Maximum(*args):
    Max = 0
    for item in List:
        if item > Max:
            item = Max
    return Max


List = [1,5,8,77,24,95]

maxList = Maximum(List)
print str(maxList)

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

您已经向后退了一行代码。你的if语句实际上是说如果item大于Max,则将item设置为Max。您需要翻转它以说明项目是否大于最大值,将Max设置为item。

if item > Max:
    Max = item
return Max

另外,我不是Python专家,但我认为您需要更改函数中的List以匹配参数名称,在本例中为args。

答案 1 :(得分:1)

* args =参数列表 - 作为位置参数

您在此处传递列表作为参数。所以你的代码看起来应该是这样的 -

def maximum(nums):
   Max = 0
   for item in nums:
       if item > Max:
           Max=item
   return Max

List = [1,5,8,77,24,95]
print maximum(List)

这会给你结果:95。

另一方面,您可以使用max built in函数获取列表中的最大数量。

print max(List)

答案 2 :(得分:0)

使用reduce():

Python 2

def Maximum(data):
    return reduce(lambda x, y: x if x > y else y, data)

在Python 3中,添加

from functools import reduce

输出:

print(Maximum([4, 8, 4, 19, -1]))
  

19