Seite 1 von 1

Frage als Funktion erstellen

Verfasst: Mittwoch 18. Dezember 2013, 18:03
von Marius82
Hallo,

ich habe mal eine Anfängerfrage. Der folgende Code ist eine einfache ja/nein Abfrage. Diese Abfrage würde ich gern als zwei getrennte Funktionen bilden, also Frage und Antwort. So das wenn eine ungültige Antwort gegeben wurde die Frage nochmal gestellt wird, bis eine gültige Antwort eingegeben wird.

Danke

Code: Alles auswählen

frage = raw_input("Scheint die Sonne? (j/n)")

if frage == "j":
	print("Juhu")

if frage == "n":
	print(":(")

Re: Frage als Funktion erstellen

Verfasst: Mittwoch 18. Dezember 2013, 19:04
von mutetella
@Marius82
Ich denke, im einfachen Fall reicht die Funktion für die Frage:

Code: Alles auswählen

def sunshine():
    answers = {'j': 'Juhu', 'n': ':('}
    while True:
        try:
            print answers[
                raw_input('Scheint die Sonne? (j/n)')[0].lower()
            ]
        except KeyError:
            pass
        else:
            break
Nachdem Du `raw_input` erwähnst nehme ich an, dass Du mit Python 2 arbeitest. `print` ist erst ab Python 3 eine Funktion und benötigt von daher keine Umklammerung des Strings.

mutetella

Re: Frage als Funktion erstellen

Verfasst: Mittwoch 18. Dezember 2013, 19:11
von Marius82
Super, das funktioniert perfekt. Könntest du noch ein paar Kommentare hinzufügen da mir nicht ganz klar ist was bei jeder Anweisung passiert?

Danke!

Re: Frage als Funktion erstellen

Verfasst: Mittwoch 18. Dezember 2013, 19:45
von mutetella