2013-04-05 145 views
0

我需要帮助理解此说明。将列表从一个功能传递到另一个功能

您的主程序代码应调用“getData”函数。将从“夏季”函数返回的列表传递给“getData”并保存该函数返回的总和。

def getData(): 
    fin = open("sample.dat","r") 
    numbers=[] 
    for line in fin: 
     val =line.rstrip() 
     numbers.append(val) 
    return numbers 
def summer(lst): 
    sum=0 
    for n in range(0,13,2): 
     sum+=powerval(lst[n],lst[n+1]) 
    return sum 
+1

'summer'返回一个数字,而不是列表... – unutbu 2013-04-05 21:27:52

+0

这将更有意义,如果使用说明中说,通过由'getData'函数返回列表到'夏天'并保存**函数返回的和**。 – unutbu 2013-04-05 21:32:47

回答

0

我想,这是否满足要求。

def getData(lst): 
    for l in lst: 
     do something with sum 
    save sum 
    return sum 

invoke as: 
    getData(summer(some_other_data)) 
1

如果指令读取,

路过的getData功能恢复summer列表 和保存的总和是 函数返回。

然后尝试:

total = summer(getData()) 
+0

我收到错误“需要浮动”。 – 2013-04-05 21:50:14

+0

这个工作,但现在我得到“列表索引超出范围” – 2013-04-05 22:03:37

+0

@JarrettGreen'sample.dat'文件应该有14行或更多的行这个工作。 – poke 2013-04-05 22:12:56

相关问题