Как вы добавили, вы должны создать массив, который будет содержать все проигрываемые песни. Чтобы иметь возможность правильно получить доступ к предыдущему, у вас также должна быть переменная, которая сообщит вам, где вы в данный момент находитесь в списке.
В вашей функции prevSong
вы можете просто получить доступ к песне, прежде чем индексировать ее в списке. Что-то вроде:
def prevSong():
print("musiclist is ",musiclist)
print('Playing previous song')
#you should add a if there in case there is no previous song
currentIndex-- #remove 1 to the current index
lastSong = prevSongList[currentIndex]
#play the song
pygame.mixer.music.load(lastSong)
А внутри вашей функции nextSong
перед добавлением случайной песни проверьте, не существует ли уже песни для currentIndex+1
.
О вас ошибка, я думаю, это из-за строки
prev = prevSongList.append(randSong)
Я не уверен, что возвращает pygame.mixer.music.load(random_song)
, но это может быть не строка, вместо этого следует использовать название песни:
prev = prevSongList.append(random_song)