@AlexsandrLomaev

Не могу найти ошибку в моей простой программе на python?

вот мой скрипт:
userName = input('Введите Имя: ')
userFam = input('Введите Фамилию: ')
userData = input('Введите дату рождения: ')
userPass = input('Придумайте пароль: ')

baza = ["База данных: ", (userName) , (userFam) , (userData) , (userPass)]

user_avLog = input('Спасибо! пожалуйста авторизируйтесь введите Логин: ')
user_avPass = input('Спасибо! пожалуйста авторизируйтесь введите пароль: ')

for i in (user_avLog):
    if i == (userName):
        print('Здравствуйте!,' , (user_avLog))
        break

    for e in (user_avPass):
        if e == (userPass):
            print('Здравствуйте!,' , (user_avLog))
            break
    else:
        print('Не верно введеные пароль или логин')
        break
программа работает исправно если в поле с паролем и логином ровняется 1 символу
но как только введешь допустим "Дмитрий" она в любом случае выдает отрицательный результат
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
ну так вот здесь
for i in (user_avLog):
вы разбираете введенный логин на символы и каждый символ сравниваете с именем пользователя. и то же самое делаете с паролем.

цикл в данном месте не требуется
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Firsov36
full-stack web developer
После ввода логина и пароля, я бы сделал такой код:
if user_avLog == userName and user_avPass == userPass:
    print('Здравствуйте, ' + user_avLog + '!')
else:
    print('Не верно введены пароль или логин')

p.s. Сам только изучаю Python
Ответ написан
Комментировать
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Вы итерируетесь по символам введённого логина и каждый символ сравниваете с именем пользователя:
for i in (user_avLog):
if i == (userName):
print('Здравствуйте!,' , (user_avLog

Конечно это сработает только в том случае, если имя пользователя состоит из одной буквы.
Читайте любую книжку по питону в части циклов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы