Rücksprung zum Listenanfang unterbinden
Ich habe rund 1200 Musiktitel die jeweils unter dem Namen des jeweiligen Künstlers in einem eigenen Verzeichnis zusammengefaßt sind. Wähle ich nun z.B einen Titel aus dem Verzeichnis eines Künstler dessen Name mit "U" beginnt einen Titel aus und verlasse später das Verzeichnis mit "<" lande ich immer am Listenanfang und nicht an der vorhgerigen Listenposition des Künsterls dessen Name mit U anfängt. Wie kann man das verhindern?
-
Um dieses Problem zu lösen, könntest du eine Funktion implementieren, die die aktuelle Position in der Liste des Künstlers speichert, bevor du das Verzeichnis verlässt. Wenn du dann zurückkehrst, kannst du diese gespeicherte Position verwenden, um zur vorherigen Position in der Liste des Künstlers zu gelangen, anstatt immer zum Anfang der Liste zu springen.
Hier ist ein einfaches Beispiel in Python, wie du das umsetzen könntest:
pythonimport os current_directory = os.getcwd() # Aktuelles Verzeichnis current_artist = "" # Aktueller Künstler current_index = 0 # Aktuelle Position in der Liste des Künstlers def select_song(artist_name, song_index): global current_artist, current_index # Prüfe, ob der Künstler gewechselt wurde if artist_name != current_artist: current_artist = artist_name current_index = song_index else: current_index += 1 # Gehe zum nächsten Titel in der Liste des Künstlers # Öffne den ausgewählten Song song_directory = os.path.join(current_directory, artist_name) songs = os.listdir(song_directory) selected_song = songs[current_index] print("Selected song:", selected_song) def leave_directory(): global current_artist, current_index current_artist = "" # Setze den aktuellen Künstler zurück current_index = 0 # Setze die aktuelle Position zurück # Beispielaufruf select_song("U2", 2) # Wähle den dritten Song von U2 aus leave_directory() # Verlasse das Verzeichnis # Wenn du später zum Verzeichnis zurückkehrst und einen Song auswählst select_song("U2", 0) # Wähle den ersten Song von U2 aus
In diesem Beispiel wird die aktuelle Position (
current_index
) in der Liste jedes Künstlers gespeichert, wenn du einen Song auswählst. Wenn du das Verzeichnis verlässt und später zurückkehrst, wird die gespeicherte Position verwendet, um zur vorherigen Position in der Liste des Künstlers zu gelangen. Damit soll verhindert werden, dass du jedes Mal zum Anfang der Liste springst. Read more
Please sign in to leave a comment.
Comments
1 comment