passwort eingeben

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
Benutzername123456
User
Beiträge: 6
Registriert: Mittwoch 6. Juli 2022, 12:01

e =input("passwot:")
if e =="t":
print ("Richtiges passwort")
if e =="2":
print ("Richtiges passwort")

else:
print ("falsches Passwort")


Wieso kommt Richtiges passwort und
falsches passwort raus wenn ich t Eingebe
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte die code-tags benutzen, damit der Code die in Python wichtigen Einrueckungen nicht verliert. Das ist der </>-Knopf im vollstaendigen Editor.

Und du fragst, ob das Passwort "t" ist. Ist es, und dann machst du eine Ausgabe. Und dann fragst du, ob das Passwort "2" ist, und das ist es nicht. Also machst du die falsches-Passwort-Ausgabe.

Wenn du eine Reihe von Passwoertern abpruefen willst, bei der das eine richtige die Abfrage als ganzes beendet, musst du if/elif/else benutzen.

Code: Alles auswählen

if bedingung:
    ...
elif andere_bedingung:
    ...
else:
    ... # weder bedingung noch andere_bedingung_waren wahr
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Benutzername123456: Weil Du im Code sagst das genau das passieren soll. Der Rechner macht immer das was Du sagst, nicht das was Du vielleicht gemeint hast.

Wenn in beiden ``if``-Fällen das gleiche passiert, sollten das aber auch gar keine verschiedene Anweisungen sein, sondern eine ``if``-Anweisung in der beide Passworte geprüft werden.

Und gewöhne Dir am besten sofort gute Namen an. Am Namen sollte der Leser die Bedeutung des Wertes dahinter erkennen. Bei `e` muss man raten was das wohl bedeuten soll.

Bei Passwörtern sollte man übrigens die Eingabe nicht sichtbar haben, damit da keiner über die Schulter schauen kann.

Code: Alles auswählen

from getpass import getpass


def main():
    answer = getpass("Passwort: ")
    if answer in ["t", "2"]:
        print("Richtiges Passwort.")
    else:
        print("Falsches Passwort.")


if __name__ == "__main__":
    main()
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten