Дана символьная строка.Вывести на экран те символы, которые встречаются в ней более трех раз, для каждого из символов указать количество повторений
word = input('Введите слово: ')
while word:
if word.count(word[0])>3:
print(word[0], ':', word.count(word[0]))
word = word.replace(word[0], '')
Есть ли возможность не использовать методы count(), replace()?(Не использовать массив(список) и более сложные структуры. Используются только операции со строками.
Ответы (2 шт):
Автор решения: Nickolay Chistov
→ Ссылка
Можно с помощью Counter:
from collections import Counter
word = input('Введите слово: ')
c = Counter(word)
for letter in c:
if c[letter] > 3:
print(f"{letter} : {c[letter]}")
Автор решения: Vladimir Chistov
→ Ссылка
Такой код выполнят поставленную задачу, используя только числа и строки:
word = input("Введите слово: ")
def count(string: str, letter: str) -> int: # (1)
result = 0
for l in string:
if l == letter:
result += 1
return result
checked = "" # (2)
for letter in word:
if letter not in checked:
occurrences_number = count(word, letter)
if occurrences_number > 3:
print(f"{letter} : {occurrences_number}")
checked += letter
Описание кода:
Определяем свой
count.В строке
checkedхраним уже проверенные символы.