Python. Как получить доступ к словарю в словаре?

Я новичок, только дошел до изучения словарей. Возможно, эта конструкция совсем не удачная, но, хотелось бы понять, как все-таки получить прямой доступ к словарю в словаре? Проблема в конце данного кода.
users = {
    'kuzya': {
        'name': 'alexander kuznetsov',
        'age': 33,
        'city': 'chelyabinsk',
        },
    'peter': {
        'name': 'peter wolberg',
        'age': 31,
        'city': 'vienna'
        },
    'edward': {
        'name': 'edward snowden',
        'age': 28,
        'city': 'new york',
        },
    'admin': {
        'name': 'classified',
        'age': 33,
        'city': 'classified',
        },
    'mary': {
        'name': 'mariya shevtsova',
        'age': 22,
        'city': 'salzburg'
        },
    'alice': {
        'name': 'alice wonder',
        'age': 28,
        'city': 'moscow',
        },
    }
banned_users = {'peter': 'wallhack cheater', 'alice': 'criminal element'}
stop = ''
while stop.lower() != 'yes':
    user_login = input("\nWhat is your nickname: ")
    # Проверка на бан
    if user_login.lower() in banned_users.keys():
        print("\nYour account has been disabled. Reason:",
              banned_users[user_login].title())
        stop = input('\nDo you want to quit the program? Yes/No\n')
    # Если такого юзера в базе нет, предлагаем зарегистрироваться
    elif user_login.lower() not in users:
        question = input("\nThere is no such user here. \nDo you want to "
                         "register to continue? (Yes/No): ")
        # Если согласие на регистрацию получено, то регистрация нового
        # пользователя с проверкой возраста
        if question.lower() == 'yes':
            age = int(input('\nWhat is your age: '))
            # если больше 18 - добавляем в базу пользователей новый ник
            if age < 18:
                print('\nSorry. Your age is too low. Come back here at age 18')
                stop = input('\nDo you want to quit the program? Yes/No\n')
            else:
                full_name = input("Type your full name here: ")
                city = input("Type here your city of location: ")
                # Создаем в словаре users словарь с введенным именем и
                # заданными ключами
                users[str(user_login.lower())] = {'name': full_name.lower(),
                                                  'age': age,
                                                  'city': city.lower(),
                                                  }
                print('\nNickname "' + user_login.title() + '" was successfully'
                      ' added!')
                stop = input('\nDo you want to quit the program? Yes/No\n')
        else:
            stop = input('\nDo you want to quit the program? Yes/No\n')
    elif user_login.lower() == 'admin':
        print("\nHello master! Would you like to see a status report?")
        stop = input('\n\n\nDo you want to quit the program? Yes/No\n')
    # Если юзер уже в базе - выводим приветствие и все данные на него из базы
    else:
        print("\nWelcome back " + user_login.title() + "! Take a look at your "
              "profile:")
        print("\nUsername: " + user_login.title())
        # Вот тут загвоздка с выводом данных из вложенного словаря
        # через for? или напрямую?
        print("Full name: ", users[user_login.lower()].values())
        
        stop = input('\nDo you want to quit the program? Yes/No\n')
input('\n\nPress "Enter" to quit the program.')
  • Вопрос задан
  • 537 просмотров
Пригласить эксперта
Ответы на вопрос 1
@barolina
turn coffee into code
list(users.get('kuzya').values())
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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