Прикреплённый файл «anna_noRE.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Рассмотрим текст романа Л. Н. Толстого «Анна Каренина» (следует использовать электронную версию романа, находящуюся по адресу http://ejudge.ru/study/anna.txt; есть на этом вики). Словоформой назовем последовательность латинских или русских букв. Словоформы ограничиваются символами, не являющимися латинскими или русскими буквами. В словоформах не различаются заглавные и строчные буквы и буквы е и ё. Например, Осел и осёл — это одна словоформа. Выпишите 10 наиболее часто встречающихся словоформ длиной 4 буквы в порядке уменьшения частоты их появления и для каждой словоформы укажите частоту ее появления. Словоформы должны быть выписаны строчными буквами, с буквой ё, преобразованной к букве е. Если несколько словоформ имеют равную частоту появления, они должны быть упорядочены по алфавиту (причем русские буквы идут раньше латинских). Обоснуйте свой ответ и приложите исходные тексты (например, тексты программ или электронные таблицы), использованные для получения ответа.
5 '''
6
7 Letters=u"".join([unichr(c) for c in range(ord(u"a"),ord(u"z")+1)+range(ord(u"а"),ord(u"я")+1)])
8
9 def cmpv(kv1,kv2):
10 return cmp(kv1[1],kv2[1]) or cmp(ord(kv1[0][0])/128,ord(kv2[0][0])/128) or cmp(kv2[0],kv1[0])
11
12 def wsplit(s):
13 r,state=[],0
14 for c in s:
15 if state: # в середине слова
16 if c not in Letters: state=0
17 else: r[-1]+=c
18 else:
19 if c in Letters:
20 state=1
21 r.append(c)
22 return r
23
24 W,N,Voc=4,10,{}
25 for l in file("anna.txt").readlines():
26 l=wsplit(l.decode("utf8").lower().replace(u"ё",u"е"))
27 for w in l:
28 if len(w)==W:
29 Voc[w]=Voc.setdefault(w,0)+1
30 VK=Voc.items()
31 VK.sort(cmpv,reverse=True)
32 for v,k in VK[:10]:
33 print u"{1}: {0}".format(k,v).encode("utf8")
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-01-25 09:12:07, 2.2 KB) [[attachment:anna.py]]
- [получить | показать] (2012-01-18 17:29:34, 3104.5 KB) [[attachment:anna.txt]]
- [получить | показать] (2012-01-25 09:15:11, 3102.5 KB) [[attachment:annaE.txt]]
- [получить | показать] (2012-01-25 09:11:52, 2.6 KB) [[attachment:anna_noRE.py]]
- [получить | показать] (2012-01-22 14:59:55, 1.2 KB) [[attachment:ray_anna.py]]
- [получить | показать] (2012-01-18 17:28:20, 0.7 KB) [[attachment:treplo-cp866.txt]]
Вам нельзя прикреплять файлы к этой странице.