Event nur 3 mal ausführbar
Verfasst: Sonntag 30. Juni 2013, 10:23
Guten Morgen zusammen,
Möchte eine Passwort-Abfrage, bei der man drei Versuche hat; nach der dritten falschen Angabe stoppt das Programm.
Solange ich das Programm im "Shell" ablaufen lasse, geht es mit der "while"-Schleife und i=0 / i +=1 / if i ==3: break (siehe ersten Code).
Aber in tkinter (GUI) muss ich die Passwort-Eingabe mit einem "Event" prüfen lassen, z.B. Buttonklick oder Enter-Taste - und da kann ich doch nicht sagen: stopp das Programm nach dem dritten Buttonklick (allgemein nach dem 3. "Event"). Gibt es hier keine Möglichkeit, das Programm nach dem 3. Fehlversuch zu stoppen? (siehe zweiten Code)
P.S. Weiss ja nicht, ob es so viel Sinn macht, wenn man die App immer wieder erneut starten kann, aber es geht mir um's Prinzip.
Vielen Dank
Gwunderi
Möchte eine Passwort-Abfrage, bei der man drei Versuche hat; nach der dritten falschen Angabe stoppt das Programm.
Solange ich das Programm im "Shell" ablaufen lasse, geht es mit der "while"-Schleife und i=0 / i +=1 / if i ==3: break (siehe ersten Code).
Code: Alles auswählen
passwort = ["Anna", "Berta"]
login = "x"
i = 0
while login not in passwort:
login = input ("Wie heisst Du? ")
i +=1
if i == 3:
break
if login in passwort:
print ("Willkommen",login)
else:
print ("Hau ab!")
Code: Alles auswählen
from tkinter import *
root = Tk()
Label(root, text="Gib Deinen Namen an: ").pack()
eingabe = Entry(root)
eingabe.pack()
def prüf(event):
ausgabe.delete("0", END)
if eingabe.get() == "Anna":
ausgabe.insert(END, "Willkommen Anna")
else:
ausgabe.insert(END, "Hau ab!")
eingabe.delete("0", END)
eingabe.bind("<Return>", prüf)
Label(root, text='Drück dann "Enter"').pack()
ausgabe = Entry(root)
ausgabe.pack()
root.mainloop()
Vielen Dank
Gwunderi