Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1575/14246
1 #!/usr/bin/python
2 # -*- coding: utf8 -*-
3 # Soubor: 20111206-Tue-cetnost-znaku.py
4 # Datum: 06.12.2011 09:03
5 # Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
6 # Licence: GNU/GPL
7 # Úloha: vypočítá četnosti znakův souboru
8
9 from sys import stdin, stdout, stderr
10
11 f = open('soubor.txt', 'r')
12
13 pocetRadku = 0
14 pocetZnaku = 0
15 pocetSlov = 0
16
17 cetnostZnaku={}
18
19 while True:
20 radek=f.readline()
21 if radek == '':
22 break # protože jsem došel na konec souboru
23 radek = radek.decode('utf-8')
24 pocetRadku = pocetRadku + 1
25 delka=len(radek)
26 SLOVO=False # proměnná udává jestli jsem uvnitř slova
27 for i in range(delka):
28 pocetZnaku += 1
29 znak = radek[i]
30 if znak == ' ' or znak == '\n' or znak == '\t':
31 if SLOVO:
32 pocetSlov += 1
33 SLOVO = False
34 else:
35 SLOVO = True
36 # četnost jednotlivých znaků
37 if znak in cetnostZnaku.keys():
38 cetnostZnaku[znak] += 1
39 else:
40 cetnostZnaku[znak] = 1
41
42 print "-------------------------------------"
43 print "počet řádků:", pocetRadku
44 print "počet slov:", pocetSlov
45 print "počet znaků:", pocetZnaku
46 print "-------------------------------------"
47 for znak in cetnostZnaku.keys():
48 print znak,"->",cetnostZnaku[znak]