дан текст, содержащий буквы русского алфавита, цифры и знаки препинания. написать программу, которая выведет цифры красным цветом, и найдет процентное отношение количества знаков препинания к количеству всех символов текста.

Мухлисуллин Мухлисуллин    2   22.11.2021 07:28    3

Ответы
Морго11 Морго11  21.12.2023 09:28
Хорошо, давайте разберемся с этим вопросом.

Для решения задачи нам понадобится использовать функции для работы с текстом и цветом вывода. В языке программирования Python, к примеру, можно использовать модуль `re` для работы со строками, а также модуль `colorama` для изменения цвета вывода.

Вот код программы для решения данной задачи на Python:

```python
import re
from colorama import Fore

def count_digits(text):
digits = re.findall(r'\d', text) # Ищем все цифры в тексте
return digits

def count_punctuation(text):
punctuation = re.findall(r'[!~',.@#$%^&*_+=/?><:;|()]', text) # Ищем все знаки препинания в тексте
return punctuation

def calculate_percentage(text, punctuation):
total_characters = len(text) # Общее количество символов в тексте
punctuation_percentage = (len(punctuation) / total_characters) * 100 # Процентное отношение знаков препинания ко всем символам
return punctuation_percentage

def highlight_digits(text, digits):
for digit in digits:
text = text.replace(digit, Fore.RED + digit + Fore.RESET) # Красим цифры в красный цвет
return text

# Главная часть программы
text = input("Введите текст: ")

digits = count_digits(text)
punctuation = count_punctuation(text)
punctuation_percentage = calculate_percentage(text, punctuation)
highlighted_text = highlight_digits(text, digits)

print("Цифры в тексте: ", digits)
print("Процентное отношение знаков препинания к символам текста: ", punctuation_percentage)
print("Текст с подсвеченными цифрами: ", highlighted_text)
```

Пояснение к коду:

1. Мы импортируем модули `re`, чтобы работать со строками, и `colorama`, чтобы изменить цвет вывода.
2. Функция `count_digits` ищет все цифры в тексте, используя регулярное выражение `\d`. Она возвращает список найденных цифр.
3. Функция `count_punctuation` ищет все знаки препинания в тексте, используя регулярное выражение `[!~',.@#$%^&*_+=/?><:;|()]`. Она возвращает список найденных знаков препинания.
4. Функция `calculate_percentage` вычисляет процентное отношение количества знаков препинания к общему количеству символов в тексте.
5. Функция `highlight_digits` заменяет все цифры в тексте на красные цифры, используя функционал `colorama`.
6. В главной части программы мы запрашиваем текст у пользователя, затем вызываем нужные функции и выводим результаты на экран.

Надеюсь, этот ответ будет понятен для школьника и поможет ему понять, как решить задачу.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика