-
Notifications
You must be signed in to change notification settings - Fork 0
/
hw_4_2.py
65 lines (60 loc) · 2.41 KB
/
hw_4_2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def input_text():
print('Введите текст (пустая строка - прекратить ввод):')
my_list = list()
while True:
text = input()
if text == '':
return my_list
else:
my_list.append(text)
def text_stat(text):
my_dict = {}
my_dict['input'] = text
my_dict['lines'] = len(text)
# общее количество цифр
my_dict['digits'] = 0
# словарь слов
my_dict['words_stat'] = {}
# словарь символов
my_dict['chars_stat'] = {}
for i in text:
for y in list(i):
if y.isdigit():
my_dict['digits'] += 1
my_dict['chars_stat'].setdefault(y.lower(), 0)
my_dict['chars_stat'][y.lower()] += 1
tmp_list = i.split()
for y in tmp_list:
my_dict['words_stat'].setdefault(y.lower(), 0)
my_dict['words_stat'][y.lower()] += 1
# print (my_dict)
#Сортировка (в ф-ции вывода это делается проще, с использованием sorted)
tmp_dict = {}
for i in sorted(my_dict['chars_stat'].keys()):
tmp_dict[i] = my_dict['chars_stat'][i]
del my_dict['chars_stat']
my_dict['chars_stat'] = tmp_dict
tmp_dict = {}
for i in sorted(my_dict['words_stat'].keys()):
tmp_dict[i] = my_dict['words_stat'][i]
del my_dict['words_stat']
my_dict['words_stat'] = tmp_dict
return my_dict
def show_stat(dict):
print('Был использован следующий текст:')
print('<--- Текст ---')
for i in dict['input']:
print(i)
print('--- Текст --->', end='\n\n')
print('Всего строк =', dict['lines'], end='\n\n')
print('Всего цифр =', dict['digits'], end='\n\n')
print('<--- Статистика символов ---')
tab = "\t"
for i in dict['chars_stat']:
print(('\'{}\' = {}').format(i, dict['chars_stat'][i])) if i != tab else print(('{} = {}').format(repr(tab), dict['chars_stat'][i]))
print('--- Статистика символов --->', end='\n\n')
print('<--- Статистика слов ---')
for i in dict['words_stat']:
print(('\'{}\' = {}').format(i, dict['words_stat'][i]))
print('--- Статистика слов --->')
show_stat(text_stat(input_text()))