2016-07-27 39 views
0

所以我試圖創建一個函數,從頭開始確定一組值的最大值。從零開始創建一個最大函數(python)

我不確定如何在新的Max被發現後如何使函數改變Max的新值,我也不確定我的參數的使用是否正確。

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

'對於List中的項目'應該是'對於args中的項目'。 – Abdou

+1

另一個錯誤是如果'args'是一個負數列表,它會返回'0'。當'args'爲空時,然後設置'Max = args [0]' – Jae

回答

1

你有一行代碼倒退。你的if語句有效地說如果item大於Max,則將item設置爲Max。如果項目大於Max,則需要翻轉該項目,將Max設置爲item。

if item > Max: 
    Max = item 
return Max 

而且,我不是在Python的專家,但我認爲你需要改變你的函數裏面的列表相匹配的參數名稱,在這種情況下ARGS。

+1

,你應該在for循環後面返回'Max' – haifzhan

0

* 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

在另一方面,你可以使用內置函數最大值來獲得在列表中的最大數量。

print max(List)