Задать вопрос
@lapinevgeniy

Как изменить код чтобы можно было использовать .title () для выведения нужной информации с большой буквы?

Возник "затык" с кодом. Нашел здесь ответ. Но не смог за два дня понять как к нему прикрутить .title() для выведения информации с большой буквы и приведения регистра в порядок.

Вопрос в учебнике звучит следующим образом:
6.7. Люди: начните с программы, написанной для упражнения 6.1 (с. 113). Создайте два новых словаря, представляющих разных людей, и сохраните все три словаря в списке с именем people. Переберите элементы списка людей. В процессе перебора выведите всю имеющуюся информацию о каждом человеке.

Сам код прикладываю:

me = {"name":"Zhenya", "last_name":"Lap", "location":"Samara"}
nastya = {"name":"Nastya","last_name":"Dem","location":"samara"}
zlata = {"name":"zlata","last_name":"ZaB","location":"Samara"}

users = [me,nastya,zlata]
print("\nПользователи на данный момент:\n")
for user in users:
    print ("-----------\n"
           f"{user['name']} {user['last_name']}\n"
           f"Имя: {user['name']}\n"
           f"Фамилия: {user['last_name']}\n"
           f"Местонахождение: {user['location']}\n")


Не получилось уйти от регистра. Я хотел бы чтобы каждое имя, фамилия, местоположение форматировалось. Пробовал переделать код и попытаться извлечь каждый словарь из списка отдельно. И уже с ним работать назначая переменные. Но не получилось. Получил ошибку: too many values to unpack (expected 3). Планировал извлечь переменные (x - name, y - last name, z - Location) и уже к ним применить метод .title()

me = {"name":"Zhenya", "last_name":"Lap", "location":"Samara"}
nastya = {"name":"Nastya","last_name":"Dem","location":"samara"}
zlata = {"name":"zlata","last_name":"ZaB","location":"Samara"}

users = [me,nastya,zlata]
print("\nПользователи на данный момент:\n")
for user in users:
    print (user) #для самоконтроля, чтобы убедиться что мы получаем три словаря
    for x, y, z in user:
        print(f"\n{user.title()}!")
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Это for x, y, z in user: не правильно.
user содержит словарь. Пытаясь посредством for итерировать user, вы итерируете ключи этого словаря - по одному. Но пытаетесь положить каждый один ключ в три переменных x, y, z разом.
Можно сделать так:
me = {"name":"Zhenya", "last_name":"Lap", "location":"Samara"}
nastya = {"name":"Nastya","last_name":"Dem","location":"samara"}
zlata = {"name":"zlata","last_name":"ZaB","location":"Samara"}

users = [me,nastya,zlata]
print("\nПользователи на данный момент:\n")
for user in users:
    print (user) #для самоконтроля, чтобы убедиться что мы получаем три словаря
    for key in user:
        print(f"\n{key}: {user[key].title()}!")
Ответ написан
Ваш ответ на вопрос

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

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