Commit 11b3821f authored by SETaratukhina's avatar SETaratukhina
Browse files

Update oop.py

parents
class Text:
text = open ('text.txt', 'r')
text_string = text.read()
text_without_characters = text_string.replace('.','').replace(',','').replace('!','').replace('?','').replace(';','')
with open('text.txt') as text:
text_massiv=text.read().split() # слова в массиве
text_not_probel = text_string.replace(' ', '') # текст без пробелов
char_list = []
string = text_not_probel
for c in string:
char_list.append(c)
q='\n'
for x in char_list:
if x == q:
char_list.remove('\n')
#print(Text.text_not_probel)
#print(Text.char_list) #массив из всех символов
#print(Text.text_massiv)
#print(Text.text_without_characters)
class Long_word:
max = 0
inlist = Text.text_without_characters.split()
for i in inlist:
l = len(i)
if l > max:
imax = i
max = l
print ('Самое длинное слово: ' , imax)
class Shot_word:
min = 20
inlist = Text.text_without_characters.split()
for i in inlist:
l = len(i)
if l <= min:
imin = i
min = l
print('Самое короткое слово: ', imin)
class Often_char:
def most_frequent(text):
return max(set(text), key=text.count)
text = Text.char_list
print('Самый часто встречающийся символ:', most_frequent(text))
class Symbol:
symbol = input('Введите символ ')
text = Text.text_string
count = 0
for i in range(len(text)):
if (text[i] == symbol and i == 0) or (i > 0 and text[i] == symbol and text[i - 1] in ' ,.!=-:'):
count += 1
print('Количество слов начинающихся на символ ', symbol, ' равно ', count)
class Percent_char:
all_simbol = len(Text.char_list) # кол-во всех символов
#print(all_simbol)
q = ','
comma = 0
for x in Text.char_list:
if x == q:
comma +=1
q = round((comma*100/all_simbol), 2)
print('Количество запятых составляет ',q,'%')
q = '.'
point = 0
for x in Text.char_list:
if x == q:
point +=1
q = round((point*100/all_simbol), 2)
print('Количество точек составляет ',q,'%')
q = '?'
question_mark = 0
for x in Text.char_list:
if x == q:
question_mark += 1
q = round((question_mark * 100 / all_simbol), 2)
print('Количество знаков вопроса составляет ', q, '%')
q = '!'
exclamation_mark = 0
for x in Text.char_list:
if x == q:
exclamation_mark += 1
q = round((exclamation_mark * 100 / all_simbol), 2)
print('Количество восклицательных знаков составляет ', q, '%')
class Frequency:
test_str = Text.char_list
all_freq = {}
res = {}
for i in test_str:
if i in all_freq:
all_freq[i] += 1
else:
all_freq[i] = 1
for i in test_str:
res[i] = round((all_freq[i] * 100 / Percent_char.all_simbol), 2)
print("Частота вхождений каждого символа :\n " + str(res))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment