Aufgabenstellung

Das Programm soll nun noch prüfen, ob auch wirklich Kleinbuchstaben benutzt werden. 

Tipp: Die Funktion `.islower()`, die du ähnlich wie `.isdigit()` auslösen kannst, gibt `True` zurück, wenn ein Zeichen klein geschrieben ist.

Außerdem soll das Passwort immer abgelehnt werden, wenn eines der folgenden Zeichenketten im Passwort auftaucht: "passwort", "123", "hallo". Der Nutzer soll dann eine Meldung bekommen, dass sein Passwort zu leicht zu erraten ist.&;

So kannst prüfen, ob eine Zeichenkette in einer anderen enthalten ist:

```lang:python;; if zeichenkette in dein_text: ```

Erstelle ein neues Projekt in replit und leg los!

Hinweis

Klicke hier, um eine mögliche Lösung anzeigen

import string
MIN_LAENGE = 8

def enthaelt_zahl(passwort):
  for zeichen in passwort:
    if zeichen.isdigit():
      return True

def enthaelt_sonderzeichen(passwort):
  for zeichen in passwort:
    if not zeichen.isalnum():
      return True

def enthaelt_kleinbuchstaben(passwort):
  for zeichen in passwort:
    if zeichen.islower():
      return True

def lang_genug(passwort):
  if len(passwort) >= MIN_LAENGE:
    return True

def leicht_zu_erraten(passwort):
  leichte_zeichenfolgen = ["passwort", "123", "hallo"]
  for leichte_zeichenfolge in leichte_zeichenfolgen:
    if leichte_zeichenfolge in passwort:
      return True

def passwort_sicher(passwort):
  if leicht_zu_erraten(passwort):
    print(f'Dein Passwort ist zu leicht zu erraten.')
    return False
  if lang_genug(passwort) and enthaelt_zahl(passwort) and enthaelt_sonderzeichen(passwort) and enthaelt_kleinbuchstaben(passwort):
    return True

while True:
  passwort = input("Dein Passwort: ")
  if not passwort_sicher(passwort):
    print("Passwort nicht sicher. Bitte versuche es erneut.")
  else:
    print(f'Herzlichen Glückwunsch, dein Passwort ist sicher!')
  break