Brauche Hilfe bei Schleife

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
swaTch
User
Beiträge: 6
Registriert: Mittwoch 22. September 2004, 17:53

Donnerstag 23. September 2004, 18:50

Hi,

ich möchte das ein Passwort so lange abgefragt wird bis es richtig ist. Aber wenn ich das Passwort richtig eingebe kommt die Abfrage trotzdem wieder :( .

Code: Alles auswählen

h = True
while h == True:
    i = (raw_input("Wie heisst das Password: "))
if i == "Nutte":
    print "richtig"
    h = False
else:
    print "pAssword ist falsch"
    h = True
thx im Vorraus 4 help.
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Donnerstag 23. September 2004, 19:22

Da stimmt auch die Einrückung nicht, alles unter der Zeile "i = ..." müsste eine Ebene weiter eingerückt sein, sonnst besteht die Schleife nur aus Abfragen für i, die logischerweise nie endet. Kürzere Variante mit break:

Code: Alles auswählen

while True:
    i = (raw_input("Wie heisst das Password: "))
    if i == "Nutte":
        print "richtig"
        break
    print "Password ist falsch"
swaTch
User
Beiträge: 6
Registriert: Mittwoch 22. September 2004, 17:53

Donnerstag 23. September 2004, 19:38

Okay danke schön fuktioniert wunderbar und dank dir habe ich jetzt auch endlich den while befehl verstanden man muss ja nur unter while schreiben was richtig ist und mit dem break befehl beenden. Was er machen soll wenn es falsch ist was man eingibt steht dann unterm break Befehl richtig ? Also nochmal thx

mFg swaTch
Ronnie
User
Beiträge: 73
Registriert: Sonntag 21. März 2004, 17:44

Donnerstag 23. September 2004, 20:33

Oder in Kurzform:

Code: Alles auswählen

while i!='ende':
	i = (raw_input("Wie heisst das Passwort: "))
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Donnerstag 23. September 2004, 21:44

swatch hat geschrieben:... Befehl richtig ?
nö... while läuft solange, wie die Bedingung wahr ist, die angegeben wurde. Die Variante mit break diehnt nur dazu, die Schleife vorzeitig zu verlassen, was bei einer Endlosschleife mit True logischerweise nötig ist... da musst du wohl noch ein wenig Grundlagen pauken. :lol:
Antworten