Python

Помогите разобраться что не так делаю, задача про песни, Python

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]
]

num = int(input('Сколько песен выбрать? '))
summ = 0
for i in range(num):
song_time = input('Название песни: '.format (i + 1))
if violator_songs(song_time):
summ += violator_songs(song_time)
else:
print('Такой песни нет в плей-листе')
print('Общее время звучания песен : '.format(summ))

программа пишет что объект 'list' не вызывается в строке if violator_songs(song_time)
что делаю не так?
 playlist = [  
{ "name": 'World in My Eyes', "time": 4.86 },
{ "name": 'Sweetest Perfection', "time": 4.43 },
{ "name": 'Personal Jesus', "time": 4.56 },
{ "name": 'Halo', "time": 4.9 },
{ "name": 'Waiting for the Night', "time": 6.07 },
{ "name": 'Enjoy the Silence', "time": 4.20 },
{ "name": 'Policy of Truth', "time": 4.76 },
{ "name": 'Blue Dress', "time": 4.29 },
{ "name": 'Clean', "time": 5.83 },
]

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

total_time = 0

for i in range(count):
found = False
song_name = input(f'Название {i + 1} песни: ')

for song in playlist:
if song.get("name") == song_name:
total_time += song.get("time")
found = True
break

if not found:
print('Такой песни нет в плей-листе')

print(f'Общее время звучания песен: {total_time}')
МХ
Миша Хотов
1 893
Лучший ответ
Азизбек Абдалов я попробовала по вашему, у меня выдает синтаксическую ошибку на второй строке: 'name' : 'World in My Eyes', 'time': 4.86, выделяет ':'
Здравствуйте!
Вот мой ответ для Вас:
 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
}

num = int(input('Сколько песен выбрать? '))
summ = 0
for i in range(num):
song_time = input('Название песни: '.format (i + 1))
if violator_songs[song_time]:
summ += violator_songs[song_time]
else:
print('Такой песни нет в плей-листе')

print('Общее время звучания песен : ',summ)
Немножко изменил Ваш код. Самую малость. Вы в основном правильно написали программу. Так, мелкие недочёты были.
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]
]


это объект типа list

А ты его как функцию вызываешь круглыми скобками.
Тебе вообще надо словарь использовать тут чтобы по ключу значение искать.
поделай что нибудь другое