Написание консольного меню в Python
Хочу создать активное консольное меню из двух пунктов.
- Input users name and age
- Показать всех пользователей.
Результат -list_usersи цикл
Помогите пожалуйста дописать код консольного меню чтоб был цикл вопроса выбора. А также сохранение введенных данных список и последующий их вывод в пункте 2.
print("Выберите пункт меню : ")
print(" 1 - добавить нового пользователя ")
print(" 2 - информация о всех пользователях ")
class User:
def __init__(self):
self.lastname = input('Enter last name: ')
self.firstname = input('Enter first name: ')
self.age = input("Enter age: ")
def user_info(self):
print("Lastname:", self.lastname, "Name:", self.firstname, "Age: ", self.age)
user1 = User()
user1.user_info()
print()
Ответы (2 шт):
Автор решения: Eziz Gapbarov
→ Ссылка
__author__ = 'Gapbarov Eziz'
users_dict = {}
def add_user(dct):
lastname = input('Enter last name: ')
firstname = input('Enter first name: ')
age = input("Enter age: ")
concatenate = lastname + ' ' + firstname
dct[concatenate] = age
def user_info(dct):
for i,j in enumerate(dct.items()):
nm, lnm = j[0].split()[0], j[0].split()[1]
ag = j[1]
print(f'User N{i+1}. Name: {nm.capitalize()}, Lastname: {lnm.capitalize()}, Age: {ag}')
print('''Выберите пункт меню :
1 - добавить нового пользователя ")
2 - информация о всех пользователях ")
3 - Выход
''')
while True:
menu = input('Введите пункт меню >>> ')
if menu == '1':
add_user(users_dict)
elif menu == '2':
user_info(users_dict)
elif menu == '3':
raise SystemExit
else: print('Не существующий пункт')
Автор решения: Hamlet Sargsyan
→ Ссылка
Вы можете использовать библиотеку inquirer для создания интерактивного консольного меню на Python. Вот пример кода:
from inquirer import prompt
import inquirer
class User:
def __init__(self, lastname, firstname, age):
self.lastname = lastname
self.firstname = firstname
self.age = age
def user_info(self):
print("Lastname:", self.lastname, "Name:", self.firstname, "Age:", self.age)
users_list = []
while True:
questions = [
inquirer.List('choice',
message="Выберите пункт меню:",
choices=['Добавить нового пользователя', 'Информация о всех пользователях', 'Выход'])
]
choice = prompt(questions)['choice']
if choice == 'Добавить нового пользователя':
lastname = input('Введите фамилию: ')
firstname = input('Введите имя: ')
age = input('Введите возраст: ')
user = User(lastname, firstname, age)
users_list.append(user)
print("Пользователь успешно добавлен!\n")
elif choice == 'Информация о всех пользователях':
print("\nИнформация о всех пользователях:")
for user in users_list:
user.user_info()
print()
elif choice == 'Выход':
print("Выход из программы.")
break
Этот код демонстрирует создание консольного меню с использованием библиотеки inquirer. Пользователь может выбрать действие с помощью стрелок вверх и вниз на клавиатуре для навигации по меню.
Не забудьте установить библиотеку inquirer, выполнив pip install inquirer.