Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите, пожалуйста! Программирование, питон

Савелий Серебряков Ученик (101), на голосовании 15 часов назад
Дана строка. Строка состоит из строчных (маленьких) букв русского алфавита и пробелов. Определите, какая буква в ней встречается чаще всего. Если таких букв несколько, выведите их в алфавитном порядке. Ваша программа должна вывести две строки. В первой — количество появлений самой частой буквы (или букв) в строке. Во второй — эта буква (или буквы в алфавитном порядке). Ввод Вывод экземпляр 1 езклмпрэя цитата 2 ат
Голосование за лучший ответ
Celtic Hammer Мудрец (16413) 1 месяц назад
Как-то так...
 from collections import Counter 
s = 'Дана строка. Строка состоит из строчных (маленьких) букв русского алфавита и пробелов.'.lower()
c = Counter()
for i in s:
c[i] += 1
res = list(reversed(sorted(dict(c).items(), key=lambda item: item[1])))
res2 = list(filter(lambda x: x[0].isalpha(), res))
print(f'Самая частая буква в строке "{res2[0][0]}" встречается {res2[0][1]} раз')
Самая частая буква в строке "о" встречается 9 раз
ПапаВысший разум (142218) 1 месяц назад
Какой лист-ревёрсед-сортед-дикт, делать нечего, что ли? У типа dict есть метод most_common.
А если уж затеял сортировку, у функции sorted есть параметр reverse.
Два года ковыряешь Питон и не знаешь самых простых вещей о стандартной библиотеке.
Лев Михайлов Мыслитель (6899) 1 месяц назад
 from collections import Counter 
c = Counter(input().lower().replace(' ', ''))
m = max(c.values())
print(m)
print(*sorted(k for k, v in c.items() if v == m))
ПапаВысший разум (142218) 1 месяц назад
replace материализует новую строку. Можно было вместо этого сделать filter, который вернёт легковесную настройку без копирования всех данных.
ПапаВысший разум (142218) 1 месяц назад
*надстройку
Виктория МакаренкоУченик (227) 3 недели назад
А как сделать, чтобы не было пробелов?
Александра Самедова Ученик (226) Виктория Макаренко, def foo(stri): d={} freq=0 for a in stri: if a != ' ': if a in d: k=d[a] if k+1 > freq: freq=k+1 d[a]=k+1 else: d[a]=1 if freq==0: freq=1 seq="абвгдеёжзийклмнопрстуфхцчшщъыьэюя" print(freq) for a in seq: if not (d.get(a) is None): if d[a]==freq: print(a,end='') foo(input())
Виктория МакаренкоУченик (227) 2 недели назад
Спасибо, работает.
Юрий Семыкин Искусственный Интеллект (203034) 1 месяц назад
 srTx=''.join(i for i in input('исх. текст=') if i.isalpha()) 
lett=set(list(srTx))
frq=sorted([(srTx.count(i),i) for i in lett],reverse=True)
for i in frq:
if i[0] break
print(i[0],i[1])
Александра Самедова Ученик (226) 3 недели назад
def foo(stri):
d={}
freq=0
for a in stri:
if a != ' ':
if a in d:
k=d[a]
if k+1 > freq:
freq=k+1
d[a]=k+1
else:
d[a]=1
if freq==0:
freq=1
seq="абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
print(freq)
for a in seq:
if not (d.get(a) is None):
if d[a]==freq:
print(a,end='')

foo(input())
Аксёнчикова Ирина Знаток (419) 1 неделю назад
s=input()
mkol=0
bukvi=""
a=' '
x="абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
for i in x:
kolb=s.count(i)
if kolb>=mkol:
if kolb>mkol:
bukvi=""
mkol=kolb

if kolb==mkol:
bukvi+=i
print(mkol)
print (bukvi)
Наталья Ученик (191) 2 дня назад
s=input()
c=0
a=[chr(i) for i in range(1072,1105)]
v=''
for i in range(len(a)):
if s.count(a[i])>c:
c=s.count(a[i])
v=a[i]
if s.count(a[i])==c and v!=a[i]:
v+=a[i]
print(c)
print(v)
Похожие вопросы