2016-05-20 2 views
0

Казалось, что все нормально, пока я не начал бит «это в этой строке».Почему мой контролер паролей не работает?

#This is the introduction to the code 
import time 
MinPass = 6 
MaxPass = 12 
Uppercase = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] 
Lowercase = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] 
Symbols = ["!", "£", "$", "%", "^", "&", "*", "(", ")", "_", "-", "+", "=", ":", ";", "@", "'", "#", "~", "<", ">", "?", "/", "|", "¬", "`"] 
print ("Hello, user, welcome to the SSPC program, or the Safe and Secure Password Creater.") 

print ("Please type your name") 
NAME = input() 
print ("Great. For a secure password, do not use your name,", NAME, "!") 
time.sleep(2) 
print ("Now, lets try with a password. Please enter one here") 
EnteredPassword = input("Password: ") 
while len(EnteredPassword) < MinPass: 
    print ("That password is too small. Please try again") 
    EnteredPassword = input("Password: ") 
while len(EnteredPassword) > MaxPass: 
    print ("That password is too long, please try again") 
    EnteredPassword = input("Password: ") 
print ("Ok, that password is great!") 

if EnteredPassword not in Uppercase: 
    continue 
    if EnteredPassword not in Symbols: 
     print ("Your password is weak") 
     continue 
elif EnteredPassword in Uppercase: 
    continue 
    if EnteredPassword in Lowercase: 
     continue 
    elif EnteredPassword not in Lowercase: 
     continue 
     if EnteredPassword in Symbols: 
      print ("Your password is medium") 
     elif EnteredPassword not in Symbols: 
      print ("Your password is weak") 
elif EnteredPassword in Lowercase: 
    continue 
    if EnteredPassword in Uppercase: 
     continue 
     if EnteredPassword in Symbols: 
      print ("Your password is strong") 
elif EnteredPassword not in Lowercase: 
    continue 
    if EnteredPassword in Symbols: 
     print ("Your password is medium") 
    elif EnteredPassword not in Symbols: 
     print ("Your password is weak") 

Сообщение об ошибке появляется: продолжать не правильно в цикле. Что не так? Она сформулирована в порядке, пока «не продолжать» части, и я не знаю, что это неправильно ... я был бы признателен за любую помощь, пожалуйста ...

+0

В отступе Python является частью синтаксиса языка. Является ли отступ в 100% как в вашем коде? –

+0

Вы должны попытаться включить [mcve] вместо всей программы. Это поможет вам самостоятельно изолировать проблему, а если вы не можете, сохраните время других, потому что им не придется читать все. – Arc676

+2

'continue' - это инструкция, которая немедленно вызывает оператор цикла (' for', 'while') для перехода к следующей итерации. Вы используете 'continue' внутри оператора' if' без цикла. Вам также может потребоваться повторная проверка вашего кода. Я вполне уверен, например. 'EnteredPassword not in Uppercase' не делает то, что вы ожидали от него. – dhke

ответ

0

Я думаю, что проблема в этих строках кода

if EnteredPassword not in Uppercase: 
    ... 
elif EnteredPassword in Uppercase: 
    ... 

и т. Д. Ваша переменная UPPERCASE - это список символов, а EnteredPassword - строка , тогда «in» не сможет выполнить то, что вы пытаетесь сделать здесь.

и, во-вторых, «продолжить» здесь не работает, как вы и ожидали!

Просто увидел, что кто-то уже прокомментировал это. извинения за повторение!

 Смежные вопросы

  • Нет связанных вопросов^_^