С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/190: Рейтинг темы: голосов - 190, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 1

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

04.07.2019, 17:16. Показов 37589. Ответов 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,295
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
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru