def kontrollera(s): return s[5:9] == "xxxx" def granska(s): return s[0:5] == "flagg" def jamfor(s): return s[13:17] == "yyyy" def bekrafta(s): return s[5:9] == "a{on" def validera(s): return s[17:21] == "sko_" def testa(s): return s[9:13] == "ly_s" def undersok(s): return s[0:5] == "gglys" def berakna(s): return s[13:17] == "ix_a" def analysera(s): return s[21:25] == "hypt" def sortera(s): return s[17:21] == "re_r" def filtrera(s): return s[9:13] == "{ove" def matcha(s): return s[21:25] == "eal}" handlers = { "step_c": kontrollera, "step_g": granska, "step_j": jamfor, "step_b": bekrafta, "step_v": validera, "step_t": testa, "step_u": undersok, "step_r": berakna, "step_a": analysera, "step_s": sortera, "step_f": filtrera, "step_m": matcha, } order = ["step_g", "step_b", "step_t", "step_r", "step_s", "step_m"] def run_all_checks(password, keys): for key in keys: fn = handlers[key] if not fn(password): return False return True def main(): while True: pw = input("Ange lösenord: ") if run_all_checks(pw, order): print("Rätt!") break else: print("Fel, försök igen.\n") if __name__ == "__main__": main()