Напишите программу, которая считывает одну строку и определяет, является ли она допустимой в качестве пароля
Эта проблема-домашнее задание, которое у меня есть. Я не ищу кого-то, кто мог бы дать мне ответ на вопрос, почему мой код не работает. Ищу толчок в правильном направлении о том, как это исправить. Когда я запускаю это, я получаю
'return' внешняя функция: & lt;string>, строка 25
Я не понимаю, почему это происходит. Сможет ли кто-нибудь мне помочь?
Код см. ниже:
import re def validate(password): # calculating the length length_error = not( len(password) <= 12 and len(password) >= 6) # searching for digits d_error = re.search(r"\d", password) is None # searching for uppercase ucase_error = re.search(r"[A-Z]", password) is None # searching for lowercase lcase_error = re.search(r"[a-z]", password) is None # searching for symbols sym_error = re.search(r"[$#@"+r'"]', password) is None # overall result password_ok = not ( length_error or digit_error or uppercase_error or lowercase_error or symbol_error ) print 'password_ok ',password_ok,'\nlength_error ',length_error,'\nd_error ',digit_error,'\nucase_error ',ucase_error,'\nlcase_error ',lowercase_error,'\nsym_error ',symbol_error return 'password_ok' def main(): # set cmd to anything except quit() cmd = ' ' # process the user commands cmd = input(' > ') while cmd != 'quit': password = cmd if validate(password): print "Password is valid" else: print "Password is invalid" cmd = input(' > ') main()
Что я уже пробовал:
Я чувствую, что перепробовал все, но не уверен, почему этот код не работает.