j/n Abfrage für einen Rechner

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
Bierlaune
User
Beiträge: 5
Registriert: Freitag 12. Februar 2010, 00:44

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"
Benutzeravatar
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?")
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

Du kannst so lange fragen, bis du mit dem Ergebnis zufrieden bist.

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()
EDIT: zu lahm ;D
Bierlaune
User
Beiträge: 5
Registriert: Freitag 12. Februar 2010, 00:44

Danke für die beiden tipps, funktioniert super.
Antworten