Уведомления

Группа в Telegram: @pythonsu

#1 Май 21, 2015 16:15:12

OK_GO
Зарегистрирован: 2015-05-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Просьба помощи в написании проги

Всем привет!
Думаю никто не удивится, если я скажу, что в проге я профан, а выполнить задание нужно, поэтому пишу сюда в надежде на помощь.

Имеется CSV файл с двумя колонками, где в каждой ячейке находится беспорядочный набор букв. И есть функция, которая считает расстояние Левенштейна:
def levenshteinDistance(s1,s2):
if len(s1) > len(s2):
s1,s2 = s2,s1
distances = range(len(s1) + 1)
for index2,char2 in enumerate(s2):
newDistances =
for index1,char1 in enumerate(s1):
if char1 == char2:
newDistances.append(distances)
else:
newDistances.append(1 + min((distances,
distances,
newDistances)))
distances = newDistances
return distances
print(levenshteinDistance(s1,s2))

Задача заключается в следующем: надо сделать так, чтобы python считывал CSV файл, и по очереди брал значение 1 ячейки и значение 2 ячейки первой строки(затем автоматически второй, третей и т.д) и подставлял соответственно их в def levenshteinDistance(s1,s2), чтобы считалось расстояние.

Заранее огромное спасибо!

P.S.надеюсь, несовсем коряво объяснил

Офлайн

#2 Май 21, 2015 16:48:04

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

Просьба помощи в написании проги

правильно вставьте функцию
что делать с расстояниями? выводить на экран или записывать в файл?

OK_GO
Думаю никто не удивится, если я скажу, что в проге я профан
не, не удивится :) но вы хоть пытались сделать? где ваши наработки? что не получается?



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

Отредактировано terabayt (Май 21, 2015 16:50:54)

Офлайн

#3 Май 21, 2015 17:29:27

OK_GO
Зарегистрирован: 2015-05-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Просьба помощи в написании проги

Вывести на экран.

Дальше вот этого дело никак не идет:

import codecs
separator = “;”
file = codecs.open(“out_all.csv”)
rows =
for line in file:
line_cleared = line.rstrip()
cells = line_cleared.split(separator)
rows.append(cells)

Ны выходе получается такое:
[, , , ]

Наверно, можно это через два цикла for сделать. То есть сделать два списка, и поочередно брать каждый элемент из обоих списков и подставлять их в аргумент функции.

Но я полный ноль и не знаю , как это осуществить.

Офлайн

#4 Май 21, 2015 17:40:36

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

Просьба помощи в написании проги

Вам скриншот показали, как вставлять код на форум. Что конкретно в нем неясно?



Офлайн

#5 Май 22, 2015 00:57:29

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Просьба помощи в написании проги

OK_GO
И есть функция, которая считает расстояние Левенштейна:
Что-то не похоже это на расстояние Левенштейна. Там либо рекурсивная функция (медленная), либо нерекурсивная через матрицу (быстрая).

OK_GO
P.S.надеюсь, несовсем коряво объяснил
Похоже, не до конца понимаешь, что вообще нужно сделать.



Отредактировано py.user.next (Май 22, 2015 01:01:06)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version