24.02 Поиск символа/строки по частоте
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определить количество пар, в которых первая буква - это самая часто встречающаяся буква в файле, а вторая - самая часто встречающая буква после первой самой часто встречающейся буквы.
s = open(’24_13100.txt’).readline() d = {x: s.count(x) for x in sorted(set(s))} mx = 0 letters = ’’ for i in d.items(): if i[1] > mx: mx = i[1] letters += i[0] # Определили две самые часто встречающиеся буквы letters = letters[-2:] print(s.count(letters[::-1]))
Ошибка.
Попробуйте повторить позже
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите букву, которая встречается чаще всего после двух одинаковых букв. В ответ укажите букву и сколько раз она встречается в файле. Пример: ZZGMGMMG. Ответ для примера: G3.
Способ решения 1: s = open(’24_M1.txt’).readline() d = {x: 0 for x in sorted(set(s))}#словарь, в котором в качестве ключа у нас буква, # а в качестве значения - количество раз сколько она встречается по определенному условию for i in range(len(s)-2): if s[i] == s[i+1]:#если два рядом стоящих символа равны между собой d[s[i+2]] += 1#то к значению той буквы, что стоит за этой парой, добавляем единицу #выводим букву и количество раз, сколько она встречается в файле print([(x,s.count(x)) for x in d.keys() if d[x] == max(d.values())]) Способ решения 2: s = open(’24_M1.txt’).readline() count = [0]*len(set(s))# создаем массив длиной количества различных букв в файле, #каждый элемент - это количество раз встреченных определенных букв по заданному условию. #к примеру,count[0] - количество раз, сколько встретилась буква А, #count[1] - количество раз, сколько встретилась буква B и так далее. for i in range(len(s)-2): if s[i] == s[i+1]: count[ord(s[i+2]) % 65] += 1 #Функция ord возвращает числовое значение буквы, # остаток от 65 берется, поскольку у буквы A в таблице символов значение 65, # у буквы B - 66 и так далее. # нужно сделать так, чтобы числовое значение буквы А стало равным 0, # для B - 1 и так далее, для этого и берем остаток. letter = chr(count.index(max(count)) + 65) # Функция chr обратна ord, числовое значение превращает в символ #определяем букву, которая встречалась максимальное количество раз по заданному условию. print(letter,s.count(letter))
Ошибка.
Попробуйте повторить позже
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите букву, которая встречается реже всего между двумя одинаковыми буквами. В ответ укажите букву и сколько раз она встречается в файле. Пример: ZZGMGMMGMZGZ. Ответ для примера: M4.
Способ решения 1: s = open(’24_M1.txt’).readline() d = {x: 0 for x in sorted(set(s))}#словарь, в котором в качестве ключа у нас буква, # а в качестве значения - количество раз, сколько она встречается по определенному условию for i in range(len(s)-2): if s[i] == s[i+2]:#если два рядом стоящих символа равны между собой d[s[i+1]] += 1#то к значению той буквы, что стоит между этой пары добавляем единицу #выводим букву и количество раз, сколько она встречается в файле print([(x,s.count(x)) for x in d.keys() if d[x] == min(d.values())]) Способ решения 2: s = open(’24_M1.txt’).readline() count = [0]*len(set(s))# создаем массив длиной количества различных букв в файле, #каждый элемент - это количество раз встреченных определенных букв по заданному условию. #к примеру,count[0] - количество раз, сколько встретилась буква А, #count[1] - количество раз, сколько встретилась буква B и так далее. for i in range(len(s)-2): if s[i] == s[i+2]: count[ord(s[i+1]) % 65] += 1 #Функция ord возращает числовое значение буквы, #остаток от 65 берется поскольку у буквы A в таблице символов значение 65, #у буквы B - 66 и так далее. #нужно сделать так, чтобы числовое значение буквы А стало равным 0, #для B - 1 и так далее, для этого и берем остаток. letter = chr(count.index(min(count)) + 65) #Функция chr обратна ord, числовое значение превращает в символ #определяем букву, которая встречалась минимальное количество раз по заданному условию. print(letter,s.count(letter))