Hallo wie im Titel schon zu lesen benötige ich eine Abfrage in der nur j/n gülltig ist. Ich habe schon viel rumprobiert mit is, in oder .alpha aber das ist nicht das Richtige für meine Abfrage gewesen, hoffe ihr könnt mir weiter helfen.
Damit probiere ich es zur Zeit, aber die Funktioniert leider nicht.
Wenn etwas falsches eingegeben wurde, sollte ein Text kommen in dem steht, "nur j/n eingeben".
beenden='n'
weiter='j'
while True:
beenden=raw_input("Soll das Programm beendet werden?j/n")
if weiter=='n':
print "weiter rechnen"
continue
if beenden=='j':
break
else:
print "Das Programm wird beendet"
j/n Abfrage für einen Rechner
- Matflasch
- User
- Beiträge: 41
- Registriert: Donnerstag 25. März 2004, 15:42
- Wohnort: Hamburg
- Kontaktdaten:
Habe hier gerade diesen Codeschnipsel rumfliegen. Kannst ihn ja entsprechend anpassen.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8
#
def askok(prompt, retries=3, complaint=' (y/n)? '):
while True:
ok = raw_input(prompt + complaint)
if ok in ('Y', 'y', 'yes', 'Yes' 'J', 'j', 'ja'): return True
if ok in ('N', 'n', 'No', 'no', 'nein'): return False
retries = retries - 1
if retries <= 0: raise IOError, 'refusenik user'
if __name__ == '__main__':
askok("Wirklich beenden?")
Du kannst so lange fragen, bis du mit dem Ergebnis zufrieden bist.
EDIT: zu lahm ;D
Code: Alles auswählen
>>> eingabe = ''
>>> while eingabe not in ('j', 'n'):
eingabe = raw_input('beenden? j/n ')
beenden? j/n a
beenden? j/n w
beenden? j/n dsafkjldsfl
beenden? j/n jkjasldf
beenden? j/n nksadjfl
beenden? j/n j
>>> beenden() if eingabe == 'j' else was_anderes()