0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 1

Работа со словарями Python

04.07.2019, 17:16. Показов 37813. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Столкнулся с такой проблемой, не могу закончить код, посмотрите пожалуйста.
Условие такое: "Научите Анфису собирать словарь friends с нуля. Вам дано два списка: friends_names , имена друзей, и friends_cities — их города. Списки соответствуют друг другу: friends_names[0] живёт в городе friends_cities[0].
Напечатайте на экран сообщение "Лена живет в городе <город>", используя доступ по ключу в словаре friends."

Вот то, что я написал:
Python
1
2
3
4
5
6
7
8
9
#первоначальные данные
friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
 
friends = {}
# допишите ваш код сюда
for i in range(0, len(friends_names)):
    friends = {friends_names[i] : friends_cities[i]}
    print( friends_names[i] + ' живет в городе ' + friends_cities[i])
По факту дошел до того, что программа мне выводит в цикле кто где живет. Далее не могу сообразить, что я должен добавить сюда.
По условию нужно, чтобы код вывел, где живет Лена.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2019, 17:16
Ответы с готовыми решениями:

Работа со словарями, операции над словарями, методы работы со словарями в Python 3
Создать список НАЗВАНИЕ ЛЮБОЕ (тип: list) и заполнить его СОДЕРЖИМОЕ ЛЮБОЕ (элементы списка – строки). На основе созданного списка...

Работа со словарями, операции над словарями, методы работы со словарями на Python
Создать список НАЗВАНИЕ ЛЮБОЕ (тип: list) и заполнить его СОДЕРЖИМОЕ ЛЮБОЕ (элементы списка – строки). На основе созданного списка...

Работа со словарями
Добрый день, хотел создать словарь, примерно такой: clans= {'Infinitywars':'#8VYQUC'} : Задумка в том, что есть словарь clans,...

20
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.07.2019, 17:23
Цитата Сообщение от KashinEvgeniy Посмотреть сообщение
По условию нужно, чтобы код вывел, где живет Лена.
Python
1
friends['Лена']
Только словарь нормально составьте. У вас вместо дополнения идет переприсваивание.
1
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.07.2019, 11:01
Как вариант
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def dicter():
    friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
    friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
    friends = {}
    names = dict(zip(friends_names, friends_cities))
    
    for i in names.keys():
        for j in names.values():
            if i=='Лена' and  j=='Обнинск':
                mstr=i+j
                print(mstr+'живет в '+j)
 
if __name__ == '__main__':
 
    dicter()
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
06.07.2019, 11:14
Dax, вариант чего? Ты опять не проверяешь код, прежде чем его выкладывать, вот результат твоего
JSON
1
ЛенаОбнинскживет в Обнинск
это не то, что хотел автор
Кроме того, friends у тебя нигде не используется, а в задаче
Цитата Сообщение от KashinEvgeniy Посмотреть сообщение
Напечатайте на экран сообщение "Лена живет в городе <город>", используя доступ по ключу в словаре friends."
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.07.2019, 11:21
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
           def dicter():
    friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
    friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
    friends = {}
    names = dict(zip(friends_names, friends_cities))
 
    for i in names.keys():
        for j in names.values():
            if i=='Лена' and  j=='Обнинск':
                mstr=i+' '+'живет в '+j
                print(mstr)
 
if __name__ == '__main__':
 
    dicter()
Поправил. код.
Welemir1, знали бы Вы, что я код с телефона пишу).
от того и ошибки, что компа с pycharm около меня нету.)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
06.07.2019, 11:24
Цитата Сообщение от Dax Посмотреть сообщение
знали бы Вы, что я код с телефона пишу).
эх, может его тогда запускать и смотреть результат? или не выкладывать пока дома в пичарме не проверишь? ну не серьезно же!
friends у тебя так и не используется
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.07.2019, 11:30
Как я понял, нужно получить ключ из одного словаря, значения из воторого , сцепить, так это сделано, два словаря ТС, сцеплены в один - names, оттуда выбирается ключ(i), значение(j), crkflsdftncz в строкку mstr
Как понял задачу, нужно получить фразу Лена живет в Обниниск.
Вот фраза и получается).
И да, код я проверяю.

Добавлено через 2 минуты
Цитата Сообщение от Welemir1 Посмотреть сообщение
friends у тебя так и не используется
Используется, в пятой строке кода, все то, что дано ТС.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
06.07.2019, 11:34
Dax, friends у тебя объявлено в 4 строке и нигде потом не используется
прежде чем спорить еще раз прошу прочесть
Цитата Сообщение от KashinEvgeniy Посмотреть сообщение
Напечатайте на экран сообщение "Лена живет в городе <город>", используя доступ по ключу в словаре friends.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.07.2019, 11:37
Welemir1, Ваша правда, ошибся, спорить не буду.
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.07.2019, 12:14
Python
1
2
3
4
5
6
7
8
9
def dicter():
    friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
    friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
    friends = dict(zip(friends_names, friends_cities))
    print(friends)
    m=friends["Лена"]
    print(m)
if __name__ == '__main__':
    dicter()
Миниатюры
Работа со словарями Python  
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
06.07.2019, 13:42
Dax,

а теперь обрати внимание на первую часть задания)))
Цитата Сообщение от KashinEvgeniy Посмотреть сообщение
Напечатайте на экран сообщение "Лена живет в городе <город>", используя доступ по ключу в словаре friends."
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
06.07.2019, 14:23
уж строку то дописал бы ТС и сам)
Python
1
2
3
4
5
6
7
8
9
def dicter():
    friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
    friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
    friends = dict(zip(friends_names, friends_cities))
    print(friends)
    m=friends["Лена"]
    print("Лена живет в "+m)
if __name__ == '__main__':
    dicter()
0
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 1
09.07.2019, 08:46
Python
1
2
3
for i in range(0, len(friends_names)):
    friends=dict(zip(friends_names, friends_cities))
print('Лена живет в городе '+friends['Лена'])
0
0 / 0 / 0
Регистрация: 18.07.2019
Сообщений: 3
18.07.2019, 18:01
Для чего здесь цикл for ? Чепуха какая то в задании.
0
1 / 1 / 0
Регистрация: 05.10.2019
Сообщений: 2
05.10.2019, 15:35
Это задание из Яндекс.Практикум, сейчас я тоже его прохожу)
Вот как я решил эту задачу:
Python
1
2
3
4
5
6
7
8
9
10
friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
 
friends = {}
 
# допишите ваш код сюда
for i in range(0, len(friends_names)):
    friends[friends_names[i]] = friends_cities[i]
    
print('Лена живёт в городе ' + friends['Лена'])
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
05.10.2019, 19:59
inc63, я вот все не пойму для чего у вас это????
friends[friends_names[i]] = friends_cities[i]или выше пост
Цитата Сообщение от Dax Посмотреть сообщение
if i=='Лена' and *j=='Обнинск':
вам же сказано по ключу
Python
1
2
3
4
5
6
friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
friends = dict(zip(friends_names, friends_cities))
#key = input()
#print(f"key живет в городе {friends[key]}")
print(f"Лена живет в городе {friends['Лена']}")
0
0 / 0 / 1
Регистрация: 11.11.2019
Сообщений: 124
17.02.2020, 13:29
Цитата Сообщение от inc63 Посмотреть сообщение
print('Лена живёт в городе ' + friends['Лена'])
После того как я увидел эту строчку, то понял, что я дебил и выводил всех, а по заданию нужно было только Лену
0
WebDeveloper
 Аватар для Sear
107 / 106 / 4
Регистрация: 02.02.2011
Сообщений: 1,799
18.02.2020, 13:59
Python
1
2
3
4
5
friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
result = dict(zip(friends_names, friends_cities))
for key, value in result.items():
    print( f"{key} живет в городе {value}")
Добавлено через 2 минуты
friends_names[0] живёт в городе friends_cities[0]. указано вот так же вид или я не понимаю
0
0 / 0 / 1
Регистрация: 11.11.2019
Сообщений: 124
18.02.2020, 17:18
Цитата Сообщение от Sear Посмотреть сообщение
friends_names[0] живёт в городе friends_cities[0]. указано вот так же вид или я не понимаю
Там нужно указать где живёт именно Лена и где ваш словарь "friends = {}" после списков ?

Добавлено через 4 минуты
Задание нужно делать именно через friends а не как-то по другому, смотрите как написал inc63, у него правильно
0
0 / 0 / 0
Регистрация: 29.05.2020
Сообщений: 1
29.05.2020, 18:31
Доброго времени суток.
Решил данную задачу вот так :

friends_names = ['Аня', 'Коля', 'Лёша', 'Лена', 'Миша']
friends_cities = ['Владивосток', 'Красноярск', 'Москва', 'Обнинск', 'Чебоксары']
friends = {}
# допишите ваш код сюда
for i in range(0, len(friends_names)):
friends[i]=friends_names[i]+" живёт в городе "+friends_cities[i]
print(friends[3])

Результат :

Лена живёт в городе Обнинск


Результат задания верный, но проверку не проходит, ошибка (Среди ключей словаря friends не обнаружено имя друга Аня.)

Подскажите где я ошибся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2020, 18:31
Помогаю со студенческими работами здесь

Работа со словарями
Напишите функцию dict_sum. Функция принимает на вход словарь, где значениями являются списки. Она должна заменить списки их суммами и...

Работа со словарями
Пусть список студентов представлен в виде структуры ,,]. Преобразуйте список в словарь вида: {№: , №:, №:} Выведите информацию о...

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

Работа с вложенными словарями
Господа, добрый вечер! У меня есть два блока исходных данных: documents = directories = { '1': , '2': , '3': }

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru