violator_songs = {
'World in My Eyes': 4.86,
'Sweetest Perfection': 4.43,
'Personal Jesus': 4.56,
'Halo': 4.90,
'Waiting for the Night': 6.07,
'Enjoy the Silence': 4.20,
'Policy of Truth': 4.76,
'Blue Dress': 4.29,
'Clean': 5.83
}
li = {}
qty = int(input('Сколько песен выбрать? '))
print()
count=1
while count!=qty+1:
song=input("Введите название " + str(count) + " песни: ")
if song not in violator_songs:
print("Ошибка. Такой песни в плейлисте нет или вы")
elif song in li:
print("Ошибка. Вы уже выбрали эту песню")
else:
li[song]=violator_songs[song]
count+=1
print('Общее время звучания песен:',round(sum(li.values()),2), "минут")
Объяснение:
вы слишком много лишних "телодвижений" в коде устраиваете, хотя видно, что с программированием знакомы, были какие то языки до этого?
Более простой вариант
from datetime import timedelta
music = {"mus1": 4.24,
"mus2": 2.50,
"mus3": 2.05}
time = timedelta(minutes=0, seconds=0)
maxcount = int(input("Сколько песен выбрать?: ")) + 1
count = 1
while 1:
try:
name = str(music[input(f"Название {count} песни: ")]).replace(".", " ").split()
time = time + timedelta(minutes=int(name[0]), seconds=int(name[1]))
count += 1
except:
print("Такой песни нету!")
break
if count == maxcount:
print(f"Общее продолжительность песен: {int(time.total_seconds()%3600) // 60}.{int(time.total_seconds()%3600) % 60}")
violator_songs = {
'World in My Eyes': 4.86,
'Sweetest Perfection': 4.43,
'Personal Jesus': 4.56,
'Halo': 4.90,
'Waiting for the Night': 6.07,
'Enjoy the Silence': 4.20,
'Policy of Truth': 4.76,
'Blue Dress': 4.29,
'Clean': 5.83
}
li = {}
qty = int(input('Сколько песен выбрать? '))
print()
count=1
while count!=qty+1:
song=input("Введите название " + str(count) + " песни: ")
if song not in violator_songs:
print("Ошибка. Такой песни в плейлисте нет или вы")
elif song in li:
print("Ошибка. Вы уже выбрали эту песню")
else:
li[song]=violator_songs[song]
count+=1
print('Общее время звучания песен:',round(sum(li.values()),2), "минут")
Объяснение:
вы слишком много лишних "телодвижений" в коде устраиваете, хотя видно, что с программированием знакомы, были какие то языки до этого?
Более простой вариант
from datetime import timedelta
music = {"mus1": 4.24,
"mus2": 2.50,
"mus3": 2.05}
time = timedelta(minutes=0, seconds=0)
maxcount = int(input("Сколько песен выбрать?: ")) + 1
count = 1
while 1:
try:
name = str(music[input(f"Название {count} песни: ")]).replace(".", " ").split()
time = time + timedelta(minutes=int(name[0]), seconds=int(name[1]))
count += 1
except:
print("Такой песни нету!")
break
if count == maxcount:
print(f"Общее продолжительность песен: {int(time.total_seconds()%3600) // 60}.{int(time.total_seconds()%3600) % 60}")
break