auf variablene in dictionary zugreifen

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
saylin
User
Beiträge: 7
Registriert: Samstag 2. Januar 2016, 22:18

hi

hab mal eine frage zu variablene input

Code: Alles auswählen

a = "blabla" 
blub = {a:"tada"}
b = input()
print(blub[b])
bei eingabe von a bekomm ich einen fehler das ist klar....
die frage ist wie kann ich aus der eingabe die ja ein string is quasi die im script definierte variable a machen?
bzw geht das überhaupt?

bis dann
BlackJack

@saylin: Das willst Du nicht machen. Du willst ein Wörterbuch verwenden und dort den Schlüssel 'a' hinterlegen.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@saylin:
Lass Dir mal `blub` per print ausgeben und überleg dann nochmal, was Du bei der Eingabe schreiben musst, damit 'tada' ausgegeben wird.
saylin
User
Beiträge: 7
Registriert: Samstag 2. Januar 2016, 22:18

ne mein a soll dann nämlich mit einem unicode zeichen verbunden sein
also z.B.:

Code: Alles auswählen

a = u'\u3042'
wörterbuch = {a:"a"}
wort = input()
print(wörterbuch[wort])
also wenn ich a eingebe in den input soll es als die variable a erkannt werden das ist was ich machen will ^^
hoffe hab mich verständlich ausgedrückt
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@saylin:
Du hast da einen Denkfehler, in Deinem Wörterbuch gibt es kein 'a' als Schlüssel. Die Zeile `blub = {a:"tada"}` setzt den *Wert* von `a` als Schlüssel, nicht 'a'.
saylin
User
Beiträge: 7
Registriert: Samstag 2. Januar 2016, 22:18

@ jerch

das weiß ich das ist ja die frage die ich mir stelle
ob ich den input so umwandeln kann, dass es eben nicht mehr der string "a" ist den ich ja durch den input erhalte

also: "a" ---> a
also ob ich den input umwandeln kann in die variable
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@saylin:
Ja das geht in Python, solltest Du aber nicht machen. Variablen generell dienen als Platzhalter bei Programmieren, sie stehen für einen Wert (Zustand). Mit Ausführen eines Programmes bearbeitet man diesen Zustand, z.B. in Deinem Fall kannst Du die Ausgabe von 'tada' erhalten, wenn Du 'blabla' eingibst.
Der Kontrollfluß zur Ausführungszeit sollte nicht von Bezeichnern zur Programmierzeit abhängen, bei kompilierenden Sprachen ohne umfangreiche Introspektion gibt diese Bezeichner dann auch gar nicht mehr.
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@saylin: die Lösung ist doch ganz einfach, Du speicherst nicht a in Deinem Wörterbuch sondern "a", oder definierst ein zweites Wörterbuch das "a" nach a mappt.
Antworten