Ниже приведена сокращенная версия моего кода без всякой проверки.Я пишу программу, которая сообщает пользователю, насколько надежен его пароль, видя в итоге его общий счет.Если в пароле есть 3 буквы рядом друг с другом, и эти три буквы также находятся рядом друг с другом на клавиатуре «qwerty», то их общая оценка уменьшается на 5. Я создал словарь для назначения каждой буквы.значение на клавиатуре, а затем, если две последовательные буквы в пароле имеют разницу 1, это означает, что на клавиатуре 3 строки подряд.Тем не менее, я продолжаю получать
ValueError: invalid literal for int() with base 10:
Я действительно не знаю, как использовать словари, поэтому любая помощь очень ценится!
password=str(input("Please enter a password with more than 4 digits, and it should only be letters:"))
score=0
keyboard={'Q':1,'q':1,'W':2,'w':2,'E':3,'e':3,'R':4,'r':4,'T':5,'t':5,'Y':6,'y':6,'U':7,'u':7,'I':8,'i':8,'O':9,'o':9,'P':10,'p':10,'A':12,'a':12,'S':13,'s':13,'D':14,'d':14,'F':15,'f':15,'G':16,'g':16,'H':17,'h':17,'J':18,'j':18,'K':19,'k':19,'L':20,'l':20,'Z':22,'z':22,'X':23,'x':23,'C':24,'c':24,'V':25,'v':25,'B':26,'b':26,'N':27,'n':27,'M':28,'m':28}
for n in range ((len(password))-2):
if (int(password[n+1])-int(password[n])==1) and (int(password[n+2])-int(password[n+1]==1)):
score=score-5
print(score)