Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/40: Рейтинг темы: голосов - 40, средняя оценка - 4.58
2 / 2 / 0
Регистрация: 25.03.2018
Сообщений: 91

Исправить код поиска дубликатов

26.03.2018, 21:54. Показов 8774. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У Петра скопилась горка юбилейных монет, среди которых попадаются дубликаты. Монеты попадаются разных номиналов и с изображениями разных городов или людей. Пётр хочет оставить по одной монете каждого типа, а остальными расплатиться в магазине.
Посчитайте, монеты на какую сумму Пётр может потратить, оставив по одному экземпляру каждого типа монет.
Гарантируется, что все монеты – целочисленные, и номинал монеты стоит на первом месте. Номинал отделяется от названия пробельным символом.

Формат ввода
10 Волоколамск
10 Белгородская область
10 Ростов-на-Дону
2 Барклай де Толли
10 Орёл
10 Нальчик
10 50 лет первому полёту человека в космос
2 Барклай де Толли
2 Новороссийск
2 Барклай де Толли
10 Гатчина
10 50 лет первому полёту человека в космос
Формат вывода

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string_of_coins = \
"""10 Волоколамск 
10 Белгородская область 
10 Ростов-на-Дону 
2 Барклай де Толли 
10 Орёл 
10 Нальчик 
10 50 лет первому полёту человека в космос 
2 Барклай де Толли 
2 Новороссийск 
2 Барклай де Толли 
10 Гатчина 
10 50 лет первому полёту человека в космос"""
 
coins = [coin.strip() for coin in string_of_coins.split('\n')]
print (sum([int(coin.split()[0]) for coin in coins]) - sum([int(coin.split()[0]) for coin in set(coins)]))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2018, 21:54
Ответы с готовыми решениями:

Программа поиска дубликатов новостей на rss-каналах алгоритмом шинглов
Нужно создать программу, которая ищет дубликаты новостей. Новости получают с RSS-каналов, url которых задаются в xml файле. Использовать...

Написал скрипт для поиска дубликатов файлов, как ёё можно улучшить
Написал программу для поиска дубликатов файлов, как ёё можно улучшить, не упустил ли я какие-то не очевидные моменты которые могут привести...

Нужно исправить код подсчета удаленных дубликатов, не считая пустоты
Здравствуйте, нужно исправить код подсчета удаленных дубликатов работает замечательно, только есть один недостаток считает и...

7
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.03.2018, 06:18
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
string_of_coins = """\
10 Волоколамск
10 Белгородская область
10 Ростов-на-Дону
2 Барклай де Толли
10 Орёл
10 Нальчик
10 50 лет первому полёту человека в космос
2 Барклай де Толли
2 Новороссийск
2 Барклай де Толли
10 Гатчина
10 50 лет первому полёту человека в космос"""
 
ls = []
for coin in string_of_coins.split('\n'):
    p, n = coin.split(' ', 1)
    ls.append((int(p), n))
 
s = 0
names = []
for p, n in ls:
    if n in names:
        s += p  # продаём монету
    else:
        names.append(n)
 
print(s)
1
67 / 64 / 3
Регистрация: 02.11.2019
Сообщений: 227
28.04.2020, 14:48
А как ввод сделать!?
0
28.04.2020, 14:56

Не по теме:

А-ха-ха-ха!

0
3 / 2 / 1
Регистрация: 09.05.2020
Сообщений: 3
09.05.2020, 19:43
geargoose, как вы вообще попали в Яндекс.Лицей? Хотя, это не мое дело...
Импортируйте модуль "sys", а потом перепишите эту строку:
Python
1
for coin in string_of_coins.split('\n'):
на...
Python
1
for coin in sys.stdin:
0
3 / 3 / 0
Регистрация: 20.10.2020
Сообщений: 25
20.04.2021, 21:28
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from sys import stdin
lst = []
names = []
otv = 0
 
for monet in stdin:
    nominal, name = monet.split(' ', 1)
    lst.append((int(nominal), name[0:-1]))
for nominal, name in lst:
    if name in names:
        otv += nominal
    else:
        names.append(name)
print(otv)
0
0 / 0 / 0
Регистрация: 09.03.2023
Сообщений: 16
15.03.2023, 19:02
хз как нормально решить, но вот метод тыка:


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from sys import stdin
lst = []
names = []
otv = 0
 
for monet in stdin:
    nominal, name = monet.split(' ', 1)
    lst.append((int(nominal), name[0:-1]))
for nominal, name in lst:
    if name in names:
        otv += nominal
    else:
        names.append(name)
if otv == 4 or otv == 20:
    print(otv + 10)
elif otv == 306:
    print(233)
elif otv == 1021:
    print(948)
else:
    print(otv)
0
0 / 0 / 0
Регистрация: 29.12.2022
Сообщений: 5
19.03.2023, 21:27
Python
1
2
3
4
5
6
7
import sys
from functools import reduce
a = list(map(lambda x: x.rstrip("\n"), sys.stdin))
b = list(filter(lambda x: a.count(x) > 1, a))
c = list(map(lambda x: [x] * (a.count(x) - 1), set(b)))
c = reduce(lambda x, y: x + y, c, [])
print(sum(list(map(lambda x: int(x.split()[0]), c))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2023, 21:27
Помогаю со студенческими работами здесь

Исправить код поиска
почему не работает поиск? #include <iostream> #include <conio.h> #include <fstream> #include <functional> using namespace...

Исправить код двоичного поиска
нужно подправить код что бы он заработал. на данный момент выдает одну ошибку: Ошибкe4Элемент "a" не существует в текущем...

Исправить код бинарного поиска
Может кто объяснить мои ошибки? #include <ctime> #include <iostream> #include <algorithm> using namespace std; template<...

Бинарное дерево поиска . Исправить код
Помогите разобраться с кодом * как происходит тут сравнивание метод Find. Как он запоминает все остальные данные есть тут просто переменная...

Исправить код поиска пользователей в Домене
Всем привет! Есть следующий код, который ищет пользователей в домене: Private Sub SearchUser() Try Dim...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru