Python

Оцените программу на Python

Здравствуйте! Я совсем недавно начал изучать Python, оцените пожалуйста программу и дайте пару советов как можно сократить код или улучшить её. Заранее спасибо :)
Вот код:

a = input("Вы готовы начать регистрацию? (Да или Нет): ")
while a == "Нет":
a = input("Вы готовы начать регистрацию? (Да или Нет): ")

name = input ("Введи имя пользователя: ")
pas = input ("Введи желаемый пароль: ")

print ("Вы успешно зарегистрировали аккаунт!")
b = input("Вы желаете войти в него сейчас? (Да или Нет): ")
while b == "Нет":
b = input("Вы желаете войти в него сейчас? (Да или Нет): ")

name1 = input ("Ввведите имя пользователя: ")
pas1 = input ("Введите пароль: ")

if name1 == name and pas1 == pas:
print ("Вы успешно вошли в аккаунт!")
else:
print ("Имя пользователя или пароль введены неверно!")
Anvar Umarov
Anvar Umarov
973
Я бы застрелился, нарвавшись на такой диалог:

a = input("Вы готовы начать регистрацию? (Да или Нет): ")
while a == "Нет":
~~a = input("Вы готовы начать регистрацию? (Да или Нет): ")

То есть, меня будут спрашивать о согласии на регистрацию до тех пор, пока я не соглашусь на нее?! А если я передумал? Что тогда?

Завязывай с подобными идиотскими вопросами... Уж если человек приперся сюда, значит он ХОЧЕТ начать регистрацию! А если не хочет - он просто закроет окно программы или браузера.

Будь проще...

print('{:^50}'.format('Регистрация'))
name = input ("Введи имя пользователя: ")
pas = input ("Введи желаемый пароль: ")

Кстати, нахрена спрашивать, желает ли человек войти в аккаунт, если он его только что зачем-то создал?! Да конечно же желает!

Другое дело, что в начале диалога можно сделать выбор - хочет человек войти в существующий аккаунт или зарегистрироваться. Если войти - пусть вводит свои логин и пароль.

Во всех нормальных проектах это именно так и работает. Не выдумывай лишние вопросы для юзера - юзер это ненавидит... Увидев такие диалоги - никто не захочет зарегистрироваться и пользоваться твоим "творением"...
Nikita Lokhmotov
Nikita Lokhmotov
78 464
Лучший ответ
Навскидку и поверхностно:
• Убрать зависимость от регистра (если == сравнивает регистрозависимо)
• DRY
• Заменить всратые имена переменных на понятные
• Структурировать код, используя функциональный или объектный подход.
Anvar Umarov А что можно использовать место == ?
while True:
````if input("Вы готовы начать регистрацию? (Да или Нет): ") == "Нет": break

name_registration = input ("Введи имя пользователя: ")
pas_registration = input ("Введи желаемый пароль: ")
print ("Вы успешно зарегистрировали аккаунт!")

while True:
````if input("Вы желаете войти в него сейчас? (Да или Нет): ") == "Нет": break

name_identification = input ("Ввведите имя пользователя: ")
pas_identification = input ("Введите пароль: ")

if name_registration == name_identification and pas_registration == pas_identification :
````print ("Вы успешно вошли в аккаунт!")
else:
````print ("Имя пользователя или пароль введены неверно!")
юзай case с 10