Задача:
Напишите программу, которая запрашивает у пользователя строку и выводит количество символов, которые встречаются в ней более одного раза. Python.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Получение входных данных:
- Запросить у пользователя строку и сохранить её в переменную
input_string
- Запросить у пользователя строку и сохранить её в переменную
-
Подсчет частоты символов:
- Создать пустой словарь
char_count
- Для каждого символа
char
вinput_string
:- Если
char
уже есть вchar_count
, увеличить его значение на 1 - Если
char
отсутствует вchar_count
, добавить его со значением 1
- Если
- Создать пустой словарь
-
Подсчет повторяющихся символов:
- Использовать генератор списка для создания последовательности единиц для каждого символа, встречающегося более одного раза
- Применить функцию
sum()
к этой последовательности для получения общего количества повторяющихся символов
-
Вывод результата:
- Напечатать количество символов, которые встречаются более одного раза
Код программы на языке Python:
Код Python
input_string = input("Enter a string: ")
char_count = {}
for char in input_string:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
repeated_chars = sum(1 for count in char_count.values() if count > 1)
print(f"Number of characters that appear more than once: {repeated_chars}")
Примеры входных данных и ожидаемых результатов:
Input: "hello world"
Output: Number of characters that appear more than once: 3
Input: "programming"
Output: Number of characters that appear more than once: 2
Input: "abcdefg"
Output: Number of characters that appear more than once: 0
Input: "aabbccddee"
Output: Number of characters that appear more than once: 5
Input: "Mississippi"
Output: Number of characters that appear more than once: 4
Input: "The quick brown fox jumps over the lazy dog"
Output: Number of characters that appear more than once: 7
Объяснение кода программы:
-
Ввод данных:
Программа запрашивает у пользователя строку и сохраняет её в переменнуюinput_string = input("Enter a string: ")
input_string
. -
Инициализация словаря:
Создаётся пустой словарьchar_count = {}
char_count
для хранения количества вхождений каждого символа. -
Подсчёт символов:
Цикл проходит по каждому символу вfor char in input_string: if char in char_count: char_count[char] += 1 else: char_count[char] = 1
input_string
. Если символ уже есть в словаре, его счётчик увеличивается на 1. Если символа нет, он добавляется в словарь со значением 1. -
Подсчёт повторяющихся символов:
Используется генераторное выражение для подсчёта символов, которые встречаются более одного раза.repeated_chars = sum(1 for count in char_count.values() if count > 1)
sum()
суммирует единицы для каждого значения вchar_count
, превышающего 1. -
Вывод результата:
Выводится количество символов, встречающихся более одного раза, используя f-строку.print(f"Number of characters that appear more than once: {repeated_chars}")