Eingabefunktion einer bereits definierten Variable

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.
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Eingabefunktion einer bereits definierten Variable

Beitragvon mathi » Donnerstag 21. August 2008, 09:33

Hallo,
ich möchte gemäß unterem Beispiel eine Variable eingeben können, statt einen String.
Jetzt habe ich aber keine Ahnung wie das gehen könnte und wäre für anregungen froh. Das Ziel wäre, eine Variable "b" einzugeben und mit dem Wert weiterzurechnen:

Code: Alles auswählen

b=7
d=10
f=12
richtung= ask_funk_input(u'Richtung des aufliegenden Balkens [b/d]? [b]','b')
                       
A=richtung * f

# Ergebnis sollte dann 7*12=84  oder 10*12=120 sein




Code: Alles auswählen

# Funktion für die Eingabe von Strings mit Startwert               
def ask_raw_input(prompt,default):
    vorgabe=default
    eingabe=raw_input(prompt)
    if not eingabe:
        return vorgabe
    else:
        return eingabe
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 21. August 2008, 09:39

Code: Alles auswählen

vars = {'b' : 7, 'd' : 10}
richtung = vars.get(raw_input(u'Richtung des aufliegenden Balkens [b/d]? [b]'), 'b')
print richtung
My god, it's full of CARs! | Leonidasvoice vs Modvoice
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Beitragvon mathi » Donnerstag 21. August 2008, 09:49

Super, danke das ging aber schnell!!
Vielen Dank an Leonidas

für alle nachlesenden:
so funktioniert es bei mir

Code: Alles auswählen

vars = {'b' : b, 'd' : d}
richtung = vars.get(ask_raw_input(u'Richtung des aufliegenden Balkens [b/d]? [b]', 'b'))
print richtung
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 21. August 2008, 11:49

Warum überhaupt ``d`` und ``b`` frei im Namespace rumhängen lassen? Wenn es Werte sind die in eine Kategorie gehören, ist es schlauer sie in einem Container zu haben. Denn so wie du es machst, kann man sich ``vars`` auch komplett sparen und dann gleich auf das Modul-Dictionary zugreifen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder