2017-01-06 2 views
-3
print("welcome to the password reset program") 
print("please enter the new password") 
input("type your new password") 
input("type your new password (8-16 characters)") 
password = input("type your new password (8-16 characters)") 
    if password == <8 
     print("this is too short, rethink, and re-enter your new password...") 
    if password == >16 
     print("this is too long, rethink, and re-enter your new password...") 
    if password == 8-16 
     print("this is the correct length, now re-enter to confirm") 
password2 = input("re-enter your password") 
    if password == password2 
     print("your password has been changed") 
    if password != password2 
     print("this is not the same as your first password") 

Я получаю сообщение об ошибке «если пароль == < 8» вы можете мне помочь? ????Как это сделать? я продолжаю получать Синтаксические ошибки

+1

Проверьте документ python. Вы должны использовать ':' after if. Как и '' some_value: ' – metmirr

+0

У вас есть« неожиданный отступ »в строке' if password == <8', и вам нужно добавить ':' в конце строки – Jaco

+0

. Вы должны подумать о том, чтобы взглянуть на некоторые уроки Python. –

ответ

-1
print("welcome to the password reset program") 
print("please enter the new password") 
input("type your new password") 
input("type your new password (8-16 characters)") 
password = input("type your new password (8-16 characters)") 
if len(password) <= 8: 
    print("this is too short, rethink, and re-enter your new password...") 
elif len(password) >= 16: 
    print("this is too long, rethink, and re-enter your new password...") 
else: 
    print("this is the correct length, now re-enter to confirm") 
    password2 = input("re-enter your password") 
    if password == password2: 
     print("your password has been changed") 
    else: 
     print("this is not the same as your first password") 

Как и другие предложили я бы прочитать документацию по отступа в питона, а также как использовать if/else.

+0

Я не против downvotes, но комментарий для объяснения будет оценен! – bouletta

+2

'password> = 16:' неверно. Кроме того, ответы без объяснения не очень полезны – vaultah

+0

Спасибо, я забыл изменить его во второй раз. И я согласен с объяснением, но большинство было сказано в комментариях. – bouletta

0

Во-первых, нет такой вещи, как 'x == < y'. Вы ищете 'x < = y'.

Во-вторых, как указано в ответах передо мной, вы должны добавить ':' после if.

Вы должны прочитать документы.

2

Вам необходимо сравнить длину пароля, используя len().

Вам также необходимо использовать < или <=, чтобы сравнить его, а не ==, и положите двоеточие в конце инструкции if.

Так что ваш код будет выглядеть следующим образом:

if len(password) <= 8: 
    print("this is too short, rethink, and re-enter your new password...") 
if len(password) >=16: 
    print("this is too long, rethink, and re-enter your new password...") 

Что вы могли бы упростить

if len(password) <= 8 or len(password) >= 16: 
    print("Password must be between 8 and 16 characters, enter your new password...") 

Чтобы заставить пользователя повторно ввести пароль, Вы не могли бы петлю, пока их вход активен, используя while:

while(len(password) <= 8 or len(password) >= 16): 
    print("Password must be between 8 and 16 characters, enter your new password...") 
    password=input("type your new password") 

Вы могли бы использовать это снова, чтобы проверить пользователя электронной почты nters тот же пароль:

password2 = input("re-enter your password") 
while password2!=password: 
    password2=input("this is not the same as your first password") 
print("your password has been changed") 

Как и другие пользователи уже упоминали, вы должны смотреть на хеширования: https://docs.python.org/3/library/hashlib.html

+0

вам не хватает «:» на линии 3 – bouletta

+0

Спасибо, исправлено сейчас – Trelzevir

+1

Было бы также полезно связывать или информировать ОП о хэшировании. Если они будут играть с паролями, они должны знать о хэшировании. –

-1

В коде есть пара ошибок, и я предполагаю, что вы, возможно, исходите из фона JavaScript.

Проблемы следующие.

  1. Вам не хватает : в конце ваших сообщений if.
  2. Вы не можете использовать == < или == > в Python, правильный использовать, чтобы использовать <= и >=.
  3. У вас также есть неправильный отступ для ваших заявлений if.

Обновленный код ниже.

print("welcome to the password reset program") 
print("please enter the new password") 
input("type your new password") 
input("type your new password (8-16 characters)") 
password = input("type your new password (8-16 characters)") 
if len(password) <= 8: 
    print("this is too short, rethink, and re-enter your new password...") 
if len(password) >= 16: 
    print("this is too long, rethink, and re-enter your new password...") 
if len(password) == (8-16): # is this a range or 8 - 16? 
    print("this is the correct length, now re-enter to confirm") 
password2 = input("re-enter your password") 
if password == password2: 
    print("your password has been changed") 
if password != password2: 
    print("this is not the same as your first password") 

Не забывайте хэш-пароли. https://docs.python.org/3/library/hashlib.html

+0

Я не уверен, почему я получил голосу за свой ответ, когда он технически корректен и отвечает на вопрос пользователей. –

+0

'(8-16)' не диапазон – vaultah

+0

Я не говорил, что это было. Я сделал встроенный комментарий, спрашивающий, так ли это ищет OP. –

-1
  1. Вам необходимо добавить : после каждого утверждения if, for или while.
  2. Операторы == < или == > оленья кожа существует, вы можете использовать => или <= вместо
  3. В этой строке: if password == 8-16 вы можете использовать оператор in оценить, что переменная находится в списке, Souch в if len(password) in range(8-16)

В вашем случае может быть

if password <= 8 
     print("this is too short, rethink, and re-enter your new password...") 
    if password >= 16 
     print("this is too long, rethink, and re-enter your new password...") 
    if len(password) in range(8, 16) 
     print("this is the correct length, now re-enter to confirm") 
password2 = input("re-enter your password") 
    if password == password2 
     print("your password has been changed") 
    if password != password2 
     print("this is not the same as your first password") 
+1

Отступ неправильно, вы не добавляли ':' в любом месте, а сравнение 'password' и целых чисел бессмысленно. – vaultah

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