Найти - Пользователи
Полная версия: Задачка
Начало » Python для новичков » Задачка
1 2
asphix
Доброго времени суток!
Помогите новичку с решением практической задачи?

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

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

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

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

Готового решения не прошу
asphix
terabayt
Я передумал, готов рассмотреть готовое
terabayt
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
asphix
“А что, так можно было? ” (с)

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

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

Вхідні дані: 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
terabayt
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)
вставьте правильно код
FishHook
Язык форума - русский!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB