Не правильный вывод программы

def calc_stat(listened):  # от англ. calculate statistics, посчитать статистику
    t = 0
    for i in listened:
        t += int (i)
        m = t//60
        return (f'Вы прослушали {i} песен, общей продолжительностью {m} минут.') # напишите код функции calc_stat
   
print (calc_stat([189, 148, 210, 144, 174, 158, 163, 189, 227, 198]))

Вывод должен быть "Вы прослушали N песен, общей продолжительностью M минут."


Ответы (2 шт):

Автор решения: ПИТОНИСТ версия-3-8

Вот новый код:

def calc_stat(listened):  # от англ. calculate statistics, посчитать статистику
    t = 0
    for i in listened:
        t += int (i)
    m = t//60
    return 'Вы прослушали ' +str(len(listened))+ ' песен, общей продолжительностью ' +str(m)+' минут.' # напишите код функции calc_stat
   
print (calc_stat([189, 148, 210, 144, 174, 158, 163, 189, 227, 198]))

У вас просто были проблемы с отступами)

→ Ссылка
Автор решения: CrazyElf

Дело было в отступе, как вам уже объяснили в другом ответе, но вообще же в питоне есть специальные фунции для получения числа элементов коллекции и их суммы, "вручную" через цикл такие вещи можно не считать:

def calc_stat(listened):  # от англ. calculate statistics, посчитать статистику
    return (f'Вы прослушали {len(listened)} песен, общей продолжительностью {sum(listened)//60} минут.')
   
print (calc_stat([189, 148, 210, 144, 174, 158, 163, 189, 227, 198]))
# Вы прослушали 10 песен, общей продолжительностью 30 минут.
→ Ссылка