Задать вопрос
@Emince

Как правильно итерировать?

Есть задача, пользователь выбирает количество песен, затем выбирает песни, программа считает общую продолжительность треков. Решил задачу ниже приведенным способом. Куратор упорно отказывается ее принимать, указывая на ошибку в использовании range. Пробую и так и так и не как не хочет считать общую продолжительность треков. Как правильно сделать не могу понять?

violator_songs = [
['World in My Eyes', 4.86],
['Sweetest Perfection', 4.43],
['Personal Jesus', 4.56],
['Halo', 4.9],
['Waiting for the Night', 6.07],
['Enjoy the Silence', 4.20],
['Policy of Truth', 4.76],
['Blue Dress', 4.29],
['Clean', 5.83]
]
user_songs = []
time_song = 0

amount_songs = int(input('Сколько песен выбрать? '))

for i in range(amount_songs):
print('Название', i + 1, '-й песни', end='')
song = input(': ')

# TODO: итерируйте итерируемое, рендж в этом случае - ошибка
for x in range(len(violator_songs)):
# if element in iterable -- и никаких индексов
if song == violator_songs[x][0]:
# этой строки вообще не должно быть
user_songs.append(violator_songs[x])
time_song += violator_songs[i][1]

print('Общее время звучания песен: ', round(time_song, 4))
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Зачем обращаться к элементу списка по индексу, если простое итерирование через for позволяет получить элемент списка непосредственно?
mylist = ['foo', 'bar', 'baz']
for item in mylist:
    print(item)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽