В то время как != ошибка цикла "конкретная строка"

Я пытаюсь сделать задачу немного более эффективной. Я собираюсь продолжать исследовать/редактировать, продвигаясь вперед.

В настоящее время код запрашивает ваше имя/фамилию, а затем выводит имя пользователя и пароль. До этого момента он отлично работает, если есть более эффективный способ переписать это, что также приветствуется.

Единственное, что мне еще нужно исправить, это циклические записи (First_name и Last_name), чтобы я мог добавить несколько пользователей с помощью \n\n для удобного чтения/разделения каждого пользователя. желательно с командой выхода, такой как "done"

Я также собираюсь изучить, как создать новый файл, в котором будет храниться эта информация, но это тот раздел, который я собираюсь выяснить.

First_name = input("Enter your First name: ")
Last_name= input("Enter your last name: ")


Username = str(First_name) + str(Last_name)
Password = Username + str('1!')


print("Username: ", Username.upper())
print("Password: ", Password)

В плане попытки решить проблему.

Я пытался создать что-то на бейсбольном поле...

First_name = input("Enter your First name: ")
Last_name= input("Enter your last name: ")

while First_name != "done":
    Last_name= input("Enter your last name: ")
    First_name = input("Enter your First name: ")
    Last_name= input("Enter your last name: ")
    Username = str(First_name) + str(Last_name)
    Password = Username + str('1!')
    print("Username: ", Username.upper())
    print("Password: ", Password)

это просто повторило первые две строки без печати имени пользователя/пароля. Также появилось подтверждение, когда я набрал «готово», но немного не так, как хотелось бы. Ниже я указал, как работал код

Enter your First name: first
Enter your last name: last
Enter your last name: last
Enter your First name: done
Enter your last name: last
Username:  DONELAST
Password:  donelast1!

Я понимаю, почему это первый, последний, последний, первый последний. Я не понимаю, как сделать цикл while, используя "while Fist_name !='done':", не помещая строки 1 и 2 перед циклом. Я попытался удалить входные данные в строках 5 и 6, но затем он просто зациклил имя пользователя и пароль.

удалите первые две строки и первую строку внутри цикла while. Вы запрашиваете 5 входов перед печатью. Просто First_name = '' перед циклом

depperm 05.05.2022 17:04
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
35
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Просто установите свои переменные в пустую строку до начала цикла. Поскольку пустая строка не равна done, ваш код войдет в цикл и предложит пользователю:

First_Name = ''
Last_Name = ''
while First_name != "done":
    Last_name= input("Enter your last name: ")
    First_name = input("Enter your First name: ")    
    Username = str(First_name) + str(Last_name)
    Password = Username + str('1!')
    print("Username: ", Username.upper())
    print("Password: ", Password)
Ответ принят как подходящий

Вы можете использовать цикл while и прервать его, когда первое имя будет done.

while True:
    first_name = input("Enter your first name (done to exit): ")
    if first_name.lower() == "done":
        print("Done!")
        break
    last_name = input("Enter your last name: ")
    Username = str(first_name) + str(last_name)
    Password = Username + str('1!')
    print("Username: ", Username.upper())
    print("Password: ", Password)
    print("\n")

Выход:

Enter your first name (done to exit): John
Enter your last name: Doe
Username:  JOHNDOE
Password:  JohnDoe1!


Enter your first name (done to exit): Alice
Enter your last name: Court
Username:  ALICECOURT
Password:  AliceCourt1!


Enter your first name (done to exit): done
Done!

Другие вопросы по теме