@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))
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Зачем обращаться к элементу списка по индексу, если простое итерирование через for позволяет получить элемент списка непосредственно?
mylist = ['foo', 'bar', 'baz']
for item in mylist:
    print(item)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы