所以我正在尝试创建一个从头开始确定一组值的最大值的函数。
我不确定如何在找到新的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)
非常感谢任何帮助。
答案 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