Как проверить есть ли в слове повторяющиеся буквы?
Пользователь вводит слово. Программа должна проверить, есть ли в строке одинаковые буквы и посчитать сколько раз они встречаются.
Использовать массивы, модули, листы и словари нельзя. Только цикл, только строки.
word = str(input('Введіть слово: '))
count = 0
while count <= len(word):
for i in word:
if i == word.[count]
print(count)
Пробовала что-то такое, но результат неверный, подсчитывает только кол-во символов.
Ответы (3 шт):
Автор решения: MaxU
→ Ссылка
Только цикл, только строки:
word = "гиппопотам"
seen = ""
for c in word:
if c not in seen:
print(f"{c}: {word.count(c)}")
seen += c
вывод:
г: 1
и: 1
п: 3
о: 2
т: 1
а: 1
м: 1
Автор решения: Andrey Maslov
→ Ссылка
Если нельзя ни словарей ни массивов, ни сета, тогда я вижу такой вариант - для первой буквы в слове проверять есть ли у нее повторения, если есть, то вывести сколько их, затем удалить все вхождения этой буквы и продолжать до тех пор пока строка не будет пустой.
word = "гиппопотам"
while word:
if word.count(word[0])>1: # если вывод количества нужен для всех, а не только для повторяющихся, то этот if можно убрать
print(word[0], ':', word.count(word[0]))
word = word.replace(word[0], '')
Автор решения: Danis
→ Ссылка
word = input('Введіть слово: ')
for i in range(len(word)):
if word[i] not in word[:i]:
print(word[i], word.count(word[i]))
Вот второй вариант:
word = input('Введіть слово: ')
for i in range(len(word)):
if i == word.find(word[i]):
print(word[i], word.count(word[i]))