Anfängerfrage: Auswahl von Listen durch Benutzereingabe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pbachert
User
Beiträge: 8
Registriert: Mittwoch 23. Mai 2012, 16:02

Moin,

dies ist mein erster Beitrag. Ich habe im Tutorial gesucht und auch mit der Suchfunktion hier, aber keine Antwort gefunden. Ich benutze das Buch "Einstieg in Python" von Theis, bin aber auch daraus nicht schlauer geworden.

Ich bin Anfänger in Python und allgemein im Programmieren. Wahrscheinlich ist meine Frage banal.

Zu meinem Problem:
Ich habe in einem Programm mehrere Listen angelegt, von denen der Benutzer im Verlauf des Programms eine Liste auswählen soll. Mit den Elementen dieser Liste arbeitet das Programm dann weiter. Etwa so:

L1 = [1, 2, 3, 4]
L2 = [5, 6, 7, 8]

print ("Wählen Sie L1 oder L2")
LN = input()

Wenn ich anschließend eingebe

print (LN)

dann gibt das Programm mir die Eingabe "L1" oder "L2" statt der Liste aus.

Wie kann ich erreichen, dass python erkennt, dass die Eingabe eine Liste bezeichnen soll? Oder habe ich hier von vornherein einen Denkfehler?

Vielen Dank für Eure Hilfe
pbachert
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Hallo pbachert, willkommen im Forum.

Du musst zwischen Zeichenketten (String) und Variablennamen unterscheiden, dass ist nicht das selbe.

Die einfachste (aber auch umständlichste) Lösung für den Problem wäre

Code: Alles auswählen

liste = None
if LN == "L1": liste = L1
if LN == "L2": liste = L2
Wenn du schon Dictionaries kennst, bietet sich dies an:

Code: Alles auswählen

listen = {
    "L1": L1,
    "L2": L2,
}
eingabe = input()
liste = listen[eingabe]
print(liste)
Stefan
pbachert
User
Beiträge: 8
Registriert: Mittwoch 23. Mai 2012, 16:02

Danke, das hat geholfen!

pbachert
Antworten