2013-04-05 3 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

+0

Было бы больше смысла, если инструкции сказали передать список, возвращаемый' функции getData' на 'лето' и сохранить сумму **, которая ** возвращает функцию. – unutbu

ответ

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

Я получаю сообщение об ошибке «требуется поплавок». –

+0

Это сработало, но теперь я получаю «индекс списка вне диапазона» –

+0

@JarrettGreen Файл 'sample.dat' должен содержать 14 или более строк для этого. – poke

Смежные вопросы