/ Индексът на Python е извън обсега - python, list, loop, while-loop, music

Индексът на Python е недостъпен - python, list, loop, while-loop, music

import webbrowser
import os
from random import randint

next = input("Good day sir: ")

if(next == "Dog play music"):
i = 1;
while(i != 0):


music = ["So_Far.mp3", "Love_Game.mp3", "Asshole.mp3", "Baby.mp3", "Bad_Guy.mp3",
"Beautiful_Pain.mp3", "Berzerk.mp3", "Brainless.mp3", "Desperation.mp3",   "Evil_Twin.mp3", "Ground_Hog_Day.mp3",
"Legacy.mp3", "Rap_God.mp3", "Rhyme_Or_Reason.mp3", "So_Much_Better.mp3"]
i = len(music)
a = randint(0,i)
song = music[ a ]
os.startfile(song)

os.startfile("test.py")
os.close("test.py")

Опитвам се да прегледам песните, когато е направено, отидете на следващата, без да повтаряте песен. Благодаря ви, момчета, толкова много за вашата помощ и подкрепа !!!

Отговори:

1 за отговор № 1

Аз просто ще използвам random.shuffle метод от random библиотеката, вместо да променяте логиката сами, за да сте сигурни, че ще избегнете дублиране.

import random
music = ["So_Far.mp3", "Love_Game.mp3", "Asshole.mp3", "Baby.mp3", "Bad_Guy.mp3","Beautiful_Pain.mp3", "Berzerk.mp3", "Brainless.mp3", "Desperation.mp3",   "Evil_Twin.mp3", "Ground_Hog_Day.mp3", "Legacy.mp3", "Rap_God.mp3", "Rhyme_Or_Reason.mp3", "So_Much_Better.mp3"]

Можеш да използваш random.shuffle за произволно подреждане на списъка

random.shuffle(music)

Виж ... случайно

>>> music
["Legacy.mp3", "Love_Game.mp3", "Beautiful_Pain.mp3", "Asshole.mp3", "So_Far.mp3", "Evil_Twin.mp3", "Brainless.mp3", "So_Much_Better.mp3", "Rhyme_Or_Reason.mp3", "Bad_Guy.mp3", "Baby.mp3", "Desperation.mp3", "Berzerk.mp3", "Ground_Hog_Day.mp3", "Rap_God.mp3"]

Сега просто преместете списъка и пуснете музиката си.

for song in music:
os.startfile(song)