2014-09-02 3 views
0

Я столкнулся с грубым пятном, пытаясь выяснить, что у меня с моим кодом. Я хотел бы выход привести к:python 3 Добавление значений из списка и печать итоговых данных

Enter the high integer for the range 100 
Enter the low integer for the range 20 
Enter the integer for the multiples 15 
List was created 
The list has 5 elements. 
90 75 60 45 30 
Average of multiples is 60.00 

Я могу понять, «Список был создан» часть .... но где он говорит: «В списке есть 5 элементов.» на моем коде он продолжает возвращать 30 вместо 5. Мне было интересно, может ли кто-нибудь указать мне правильное направление или часть, чтобы вернуть правильное значение. Я высоко ценю вашу помощь в этом вопросе.

def main(): 
    x = int(input('Enter the high integer for the range: ')) 
    y = int(input('Enter the low integer for the range: ')) 
    z = int(input('Enter the integer for the multiples: ')) 
    mylist = show_multiples(x,y,z) 
    show_multiples(x,y,z) 
    show_list(mylist) 

def show_multiples(x,y,z): 
    mylist = [] 
    for num in range(x,y,-1): 
     if num % z == 0: 
      mylist.append(num) 
    return mylist 
    print ('List was created') 

def show_list(mylist): 

    total = 0 
    for value in mylist: 
     total += value 
     average = total/len(mylist) 
    print ('The list has', value, 'elements.') 
    print (mylist,end=' ') 
    print() 
    print ('Average of multiples is', format(average, '.2f')) 

main() 
+0

Почему вы называете 'show_multiples' дважды? – mgilson

+0

Кроме того, 'print ('List был создан')' должен, вероятно, перейти _before_ к оператору return, если вы когда-либо захотите выполнить эту строку :-) – mgilson

ответ

1

Похоже, вы просто напечатав неправильное значение:

print ('The list has', value, 'elements.') 

должно быть:

print ('The list has', len(mylist), 'elements.') 
+0

Большое спасибо. Я перечитаю раздел на части. Я положил «Список» внутри возврата, но теперь он дважды печатает? – WillyJoe

+0

@WillyJoe - Это потому, что вы дважды вызываете 'show_multiples'. :-) – mgilson

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