Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 18, 2015 10:30:29

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка

Доброго времени суток!
Помогите новичку с решением практической задачи?

Есть csv с данными вида
gorod1;89112345687
gorod2;89212546873
gorod3;89607988762
gorod1;89112345687
gorod2;89130546873

После обработки необходимо получить словарь по городам, с подсчитанным кол-вом уникальных номеров.

Например:
gorod1;1
gorod2;2
gorod3;1

Готового решения не прошу, помогите определиться с направлением, с помощью каких особенностей языка лучше всего реализовать алгоритм решения?

Отредактировано asphix (Июнь 18, 2015 10:30:54)

Офлайн

#2 Июнь 18, 2015 10:43:36

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Задачка

FishHook
Готового решения не прошу
ну ок))



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Июнь 18, 2015 10:50:35)

Офлайн

#3 Июнь 18, 2015 10:44:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Задачка

>>>Есть csv с данными вида
гуглим по тегам питон+csv
парсим файл
>>>необходимо получить словарь по городам
создаем пустой словарь
циклом проходимся по распарсеным данным
>>>подсчитанным кол-вом уникальных номеров
уникальность обеспечит множество
в итоговом словаре вида {“gorod1”: set(“89112345687”, “89607988762”)}
определяем длину множества для каждого ключа



Офлайн

#4 Июнь 18, 2015 10:44:31

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Задачка

terabayt

Готового решения не прошу



Офлайн

#5 Июнь 18, 2015 11:34:35

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка

terabayt
Я передумал, готов рассмотреть готовое

Офлайн

#6 Июнь 18, 2015 12:04:32

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Задачка

asphix
Я передумал, готов рассмотреть готовое
ахах
import collections
import csv
a = collections.defaultdict(set)
with open('test.txt', 'rb') as f:
    for i, j in csv.reader(f, delimiter=';'):
        a[i].update([j])
for i in a:
    a[i] = len(a[i])
print a



————————————————
-*- Simple is better than complex -*-

Офлайн

#7 Июнь 18, 2015 12:30:35

asphix
Зарегистрирован: 2012-05-17
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка

“А что, так можно было? ” (с)

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

Большое спасибо terabayt за наводку, буду разбираться.

Офлайн

#8 Июнь 18, 2015 13:39:44

Viktoriia
Зарегистрирован: 2015-06-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка

Здравствуйте, помогите решить след.задачу.
Наприклад

Вхідні дані: I canT DAnCE i CANt TAlK Hey
видаляємо пробіли, розбиваємо на групи по 5 символів: IcanT DAnCE iCANt TAlKH ey
ey відкдається
символи нижнього регістру перетворюються в a, верхнього - в b: baaab bbabb abbba bbabb
декодуємо, використовуючи ключ:
baaab = w
bbabb = i
abbba = k
bbabb = i
Результат: wiki
Вхідні дані: Hot sUn BEATIng dOWN bURNINg mY FEet JuSt WalKIng arOUnD HOt suN mAkiNG me SWeat
видаляємо пробіли, розбиваємо на групи по 5 символів: HotsU nBEAT IngdO WNbUR NINgm YFEet JuStW alKIn garOU nDHOt suNmA kiNGm eSWea t
t відкдається
символи нижнього регістру перетворюються в a, верхнього - в b: baaab abbbb baaab bbabb bbbaa bbbaa babab aabba aaabb abbba aabab aabba abbaa
декодуємо, використовуючи ключ:
baaab = w
abbbb = e
baaab = w
bbabb = i
bbbaa = l
bbbaa = l
babab = r
aabba = o
aaabb = c
abbba = k
aabab = y
aabba = o
abbaa = u
Результат: wewillrockyou

Выдает ошибку invalid syntax (<string>, line 9)



Мой код.

import sys
coded_text = ‘I canT DAnCE i CANt TAlK Hey’
KEY = ‘aaaaabbbbbabbbaabbababbaaababaab’
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
new_letter = ‘'
coded_text = coded_text.replace(’ ‘,’')
ab = “”
for letter in coded_text:
    if letter.islower():
        ab += ‘a’
    else:
        ab += ‘b’
 
d = len(ab)
for i in range(0,d,5):
    part = ab
    if len(part) == 5:
        new_letter += alphabet
 
print new_letter

Офлайн

#9 Июнь 18, 2015 15:02:23

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Задачка

Viktoriia
Здравствуйте, помогите решить след.задачу.
>>> k = 'aaaaabbbbbabbbaabbababbaaababaab'
>>> s = "Hot sUn BEATIng dOWN bURNINg mY FEet JuSt WalKIng arOUnD HOt suN mAkiNG me SWeat"
>>> a = b = ""
>>> for i in s:
...     if not i.isspace():
...         a += 'ab'[i.isupper()]
...         if not len(a) % 5:
...             b += chr(k.index(a[-5:]) + ord('a'))
... 
>>> print b
wewillrockyou
Viktoriia
Выдает ошибку invalid syntax (<string>, line 9)
вставьте правильно код



————————————————
-*- Simple is better than complex -*-

Офлайн

#10 Июнь 18, 2015 15:43:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Задачка

Язык форума - русский!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version