Найти - Пользователи
Полная версия: приветствую народ. Задачка к экзамену, скажите пожалуйста что не так?
Начало » Центр помощи » приветствую народ. Задачка к экзамену, скажите пожалуйста что не так?
1
Леон
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#На вход программы подается текстовый файл “in.txt” из букв
#латинского алфавита, цифр и знаков препинания. Необходимо составить
#регистронезависимый частотный словарь текста.
#Словарь должен быть отсортирован по частоте символов и выведен в файл “out.txt”.
#В графическом окне необходимо вывести круговую диаграмму относительных
#долей трех классов символов: гласные буквы, согласные буквы, знаки препинания.
#Пробелы в тексте должны игнорироваться.
from Tkinter import *
infile = open('in.txt', ‘r’)
lines =
for line in infile:
lines.append(line)

A=''.join(lines)
A=A.split()
A=''.join(A)

for s in A:
if s in S:
else:
D=1
S.append

for s in S
C.append(D)
Out=zip(c,s)
Out.sort()
Out.revers()
print A
print lines
print S, ‘-’, c
pyuser
from collections import Counter
from operator import itemgetter
from string import digits, punctuation

def frequency(infile, outfile):
vowels = "aeiouy"

c = Counter()
with open(infile, "r") as f:
for line in f:
c.update(line.strip().replace(" ", "").lower())

with open(outfile, "w") as f:
for char, freq in sorted(c.items(), key=itemgetter(1), reverse=True):
print("{}: {}".format(freq, char), file=f)

f_all = sum(y for x, y in c.items())
f_vowels = sum(y for x, y in c.items() if x in vowels)
f_digits = sum(y for x, y in c.items() if x in digits)
f_punctuation = sum(y for x, y in c.items() if x in punctuation)

return f_vowels, f_all - f_vowels - f_digits - f_punctuation, f_punctuation
Диаграмму нарисуйте сами.
ЗЫ. Python не ниже 2.7
doza_and
Как немного по другому считать частоты
from collections import defaultdict
a=defaultdict(lambda :0)
for i in open("somefile", "rt").read().lower():
if i not in "\n \t"
a[i]+=1
with open("out.txt","wt") as f:
f.write(str(dict(a)))
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