# ---> Ниже в комментариях - проблемное место
albom = []
def make_albom(name_artist, name_albom, count_songs=None):
if count_songs:
return {name_artist: name_albom, 'songs': count_songs }
else:
return {name_artist: name_albom}
try:
while True:
name_artist = input('Имя артиста: ')
name_albom = input('Название альбома: ')
if not name_artist or not name_albom:
raise Exception('Введена пустая строка')
count_songs = int(input('Кол-во песен: '))
print(count_songs)
if count_songs > 30:
raise Exception('Больше 30 песен это уже не альбом!')
# ТУТ НЕПОНЯТНИЦА! --------------------------------------------------------------------------------
# При вводе положительных чисел не больших 30 и нуля срабатывает след. условие
# и возбуждается исключение (всегда)
elif count_songs < 30:
raise Exception('Не может быть отрицательным числом!')
#----------------------------------------------------------------------------------------------------------
if count_songs:
albom.append(make_albom(name_artist, name_albom, count_songs))
else:
albom.append(make_albom(name_artist, name_albom))
print(albom)
go_next = input('Введите [да] да продолжения:')
if go_next != 'да':
break
except ValueError:
print('Не правильно введены значения!')
except Exception as e:
print(e)
except:
print('Что-то не так!')
else:
print('Программа прошла ровно!')
finally:
print('The end!')