2016-03-07 42 views
-1
分配函數的返回值的變量

我有計算列表中的最大功能:在Python

def max_in_list(list): 
    max = 0 
    for i in range(len(list)-1): 
     if list[i] > list [i+1] and list [i] > max: 
      max = list[i] 
     elif list[i +1] > max: 
      max = list [i+1] 

print max  

另一個爲字符串的lenght映射到一個新的列表

def maps(list): 
    list_integer = [] 
    for i in list: 
     list_integer.append(len(i)) 

    print list_integer 

,我想這一個來計算最長的單詞:

def the_longest_word(list): 

    new_list = maps(list) 
    max_in_list(new_list) 

它看起來像第一個函數返回否一。我的問題是如何將返回的值分配給一個變量,以便我可以在第二個函數中使用它?

+1

'max_in_list'不會返回任何東西(默認情況下爲None),它只是修改* local *變量'max'。 – Maroun

+1

你需要從函數中返回***返回一些東西...... – deceze

回答

1

除了打印,你需要在函數結束return結果:

def max_in_list(list): 
    max = 0 
    for i in range(len(list)-1): 
     if list[i] > list [i+1] and list [i] > max: 
      max = list[i] 
     elif list[i+1] > max: 
      max = list [i+1] 
    return max 

和:

def maps(list): 
    list_integer = [] 
    for i in list: 
     list_integer.append(len(i)) 
    return list_integer 

所以最後一個函數應該是這樣的:

def the_longest_word(list): 

    new_list = maps(list) 
    return max_in_list(new_list)