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")

Я получаю сообщение об ошибке "if password == <8", можете ли вы мне помочь, пожалуйста ????

-3
Stefan Radford 6 Янв 2017 в 20:13

5 ответов

Лучший ответ
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")

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

-1
bouletta 6 Янв 2017 в 17:29
  1. Вам необходимо добавить : после каждого оператора if, for или while.
  2. Операторы == < и == > не существуют, вместо них можно использовать => или <=
  3. В этой строке: if password == 8-16 вы можете использовать оператор in для оценки того, что переменная находится в списке, указав 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
Juan Camilo Torres Sánchez 6 Янв 2017 в 17:32

В вашем коде есть пара ошибок, и я предполагаю, что вы, возможно, пришли из 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

-1
SudoKid 6 Янв 2017 в 17:26

Во-первых, не существует такой вещи, как «x ==

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

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

0
Juzles 6 Янв 2017 в 17:18

Вам нужно сравнить длину пароля, используя 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")

Вы можете использовать это снова, чтобы проверить, что пользователь вводит тот же пароль:

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

2
Trelzevir 6 Янв 2017 в 17:41