#!/usr/bin/python
# -*- coding: utf8 -*-
# Soubor:  20111206-Tue-cetnost-znaku.py
# Datum:   06.12.2011 09:03
# Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
# Licence: GNU/GPL 
# Úloha:   vypočítá četnosti znakův souboru

from sys import stdin, stdout, stderr

f = open('soubor.txt', 'r')

pocetRadku = 0
pocetZnaku = 0
pocetSlov = 0

cetnostZnaku={}

while True:
    radek=f.readline()
    if radek == '':  
        break       # protože jsem došel na konec souboru
    radek = radek.decode('utf-8')
    pocetRadku = pocetRadku + 1
    delka=len(radek)
    SLOVO=False     # proměnná udává jestli jsem uvnitř slova    
    for i in range(delka):
        pocetZnaku += 1         
        znak = radek[i]        
        if  znak == ' ' or znak == '\n' or znak == '\t':
            if SLOVO:
                pocetSlov += 1
            SLOVO = False
        else:
            SLOVO = True 
        # četnost jednotlivých znaků
        if znak in cetnostZnaku.keys():
            cetnostZnaku[znak] += 1
        else:
            cetnostZnaku[znak] = 1          
        
print "-------------------------------------"
print "počet řádků:", pocetRadku
print "počet slov:", pocetSlov
print "počet znaků:", pocetZnaku
print "-------------------------------------"
for znak in cetnostZnaku.keys():
    print znak,"->",cetnostZnaku[znak]
