ich möchte eine Eingabe folgendermaßen gestalten:
Code: Alles auswählen
c=wert1 # c soll std.mäßig wert1 besitzen
c=raw_input('bitte Wert eingeben: ')
Code: Alles auswählen
>>> c=raw_input('bitte Wert eingeben: ')
bitte Wert eingeben: wert1
Code: Alles auswählen
c=wert1 # c soll std.mäßig wert1 besitzen
c=raw_input('bitte Wert eingeben: ')
Code: Alles auswählen
>>> c=raw_input('bitte Wert eingeben: ')
bitte Wert eingeben: wert1
Code: Alles auswählen
In [1]: default = 10
In [2]: c = int((True and raw_input("bitte Wert eingeben(%i):" % default) or default))
bitte Wert eingeben(10):
In [3]: c
Out[3]: 10
Code: Alles auswählen
def ask(prompt, typ, default):
print ('%s [%s] ' % (prompt, default)),
value = typ(raw_input())
if not value:
return default
else:
return value
Code: Alles auswählen
>>> print ask('Bitte geben Sie einen String ein', str, 'Hallo Welt!')
Bitte geben Sie einen String ein [Hallo Welt!]
Hallo Welt!
>>> print ask('Bitte geben Sie einen String ein', str, 'Hallo Welt!')
Bitte geben Sie einen String ein [Hallo Welt!] Blubb
Blubb
Code: Alles auswählen
#def ask(prompt, typ, default):
# print ('%s [%s] ' % (prompt, default)),
# value = typ(raw_input())
# if not value:
# return default
# else:
# return value
def float_input(prompt,default):
while True:
try:
eingabewert=float(raw_input(prompt))
vorgabe=float(default)
if not eingabewert:
return vorgabe
else:
return eingabewert
except ValueError:
print "Na das ist aber keine Zahl!"
radius = float_input('Bitte den Radius eingeben: ',5)
hoehe = float_input('Und die Hoehe: ',23)
print radius
print hoehe
Code: Alles auswählen
def float_input(prompt,default):
vorgabe=float(default)
eingabe=raw_input(prompt)
if not eingabe:
return vorgabe
else:
while True:
try:
eingabewert=float(eingabe)
return eingabewert
except ValueError:
print "Na das ist aber keine Zahl!"
eingabe=raw_input(prompt)
radius = float_input('Bitte den Radius eingeben: ',5)
hoehe = float_input('Und die Hoehe: ',23)
print radius
print hoehe
Code: Alles auswählen
def float_input(prompt, default):
while True:
answer = raw_input("%s [%s]" % (prompt, default))
if answer.startswith("default="):
default = answer.split("default=")[-1]
else:
try:
return float(True and answer or default)
except ValueError:
pass
Ich weiß nicht, wer Deine Nutzer sein könnten, aber guter Stil ist es IMHO nicht. IMHO gute CLIs zeigen ggf. einen Defaultwert an. Wird dieser überschrieben, so wird er eben ausgetauscht und beim nächsten Durchlauf angezeigt.mathi hat geschrieben:intern kann ich den defaultwert setzen, mein letzter geposteter Code zeigt das ja.
Was ich will ist, dass der Benutzer den defaultwert interaktiv bearbeiten kann! Also nicht nur der Hinweis: "Im Inneren wird der Defaultwert= 35 gesetzt" sondern ich möchte im laufenden Programm die eingabeaufforderung haben UND der Defaultwert soll dort erscheinen als wäre er vom Benutzer eingetippt und der blinkende Cursor dann nach dem Defaultwert: also für die o.g. 35 an 3. Stelle
Also am besten einen neuen starten?!mathi hat geschrieben:Der Thread ist von mir, aber nicht zu Ende geführt.