Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3771507
А
Аноним
2 дня назад · публичный вопрос
А
Аноним

Реши правильно и легко для уровня начального 9 класса, соедини все в одно задание

Нейросеть2 дня назад

Конкретного текста в карточке нет, поэтому ниже — одна универсальная программа на Python. Она объединяет все 7 пунктов: текст, проверяемую букву и нужный символ вводим с клавиатуры.

Общее задание: для строки T, буквы L и символа S проверить L на гласность, зашифровать T цифрами 1/2/3, посчитать S, найти долю пробелов, заменить mit на max, посчитать «х» и «у», поменять местами «а» и «б».

VOWELS = "аеёиоуыэюяaeiou"
CONSONANTS = "бвгджзйклмнпрстфхцчшщbcdfghjklmnpqrstvwxyz"

def is_vowel(ch):
    return len(ch) == 1 and ch.lower() in VOWELS

def encode_text(text):
    code = ""
    for ch in text:
        low = ch.lower()
        if low in VOWELS:
            code += "1"
        elif low in CONSONANTS:
            code += "2"
        else:
            code += "3"
    return code

def count_char(text, symbol):
    return text.count(symbol)

def spaces_part(text):
    if len(text) == 0:
        return 0
    return text.count(" ") / len(text)

def replace_mit(text):
    return text.replace("mit", "max")

def count_x_y(text):
    low = text.lower()
    return low.count("х") + low.count("у")

def swap_a_b(text):
    result = ""
    for ch in text:
        if ch == "а":
            result += "б"
        elif ch == "б":
            result += "а"
        elif ch == "А":
            result += "Б"
        elif ch == "Б":
            result += "А"
        else:
            result += ch
    return result

text = input("Введите текст: ")
letter = input("Введите одну букву: ")
symbol = input("Введите символ: ")

if is_vowel(letter):
    print("1) да, гласная")
else:
    print("1) нет, не гласная")

print("2)", encode_text(text))
print("3)", count_char(text, symbol))

part = spaces_part(text)
print("4)", round(part, 3), f"({part:.2%})")

print("5)", replace_mit(text))
print("6)", count_x_y(text))
print("7)", swap_a_b(text))

Почему так:

  • В п. 1 буква переводится в нижний регистр: А и а считаются одной буквой.
  • В п. 2 каждый символ проверяется отдельно: гласная → 1, согласная → 2, всё остальное → 3.
  • В п. 3 используется count — он считает точные совпадения символа.
  • В п. 4 доля пробелов:
    \[ \text{доля}=\frac{\text{количество пробелов}}{\text{длина строки}} \]
  • В п. 5 replace("mit", "max") заменяет все вхождения.
  • В п. 6 строка переводится в нижний регистр, чтобы считать и х, и Х.
  • В п. 7 нельзя делать два replace подряд: после а → б все буквы станут б, и обратная замена сработает неправильно. Поэтому замена идёт за один проход по символам.

Проверка на примере:

Ввод:

text = mit х у! а б
letter = и
symbol = х

Вывод:

1) да, гласная
2) 212323133132
3) 1
4) 0.333 (33.33%)
5) max х у! а б
6) 2
7) mit х у! б а

Проверка п. 4: в строке 12 символов, из них 4 пробела, значит \(4/12 = 0{,}333...\), то есть \(33{,}33\%\).

реши правильно и легко для уровня начального 9 класса, соедини все в одно задание
Конкретного текста в карточке нет, поэтому ниже — одна универсальная программа на Python. Она объединяет все 7 пунктов: текст, проверяемую букву и нужный символ вводим с клавиатуры. **Общее задание:** для строки `T`, буквы `L` и символа `S` проверить `L` на гласность, зашифровать `T` цифрами 1/2/3, посчитать `S`, найти долю пробелов, заменить `mit` на `max`, посчитать «х» и «у», поменять местами «а» и «б». ```python VOWELS = "аеёиоуыэюяaeiou" CONSONANTS = "бвгджзйклмнпрстфхцчшщbcdfghjklmnpqrstvwxyz" def is_vowel(ch): return len(ch) == 1 and ch.lower() in VOWELS def encode_text(text): code = "" for ch in text: low = ch.lower() if low in VOWELS: code += "1" elif low in CONSONANTS: code += "2" else: code += "3" return code def count_char(text, symbol): return text.count(symbol) def spaces_part(text): if len(text) == 0: return 0 return text.count(" ") / len(text) def replace_mit(text): return text.replace("mit", "max") def count_x_y(text): low = text.lower() return low.count("х") + low.count("у") def swap_a_b(text): result = "" for ch in text: if ch == "а": result += "б" elif ch == "б": result += "а" elif ch == "А": result += "Б" elif ch == "Б": result += "А" else: result += ch return result text = input("Введите текст: ") letter = input("Введите одну букву: ") symbol = input("Введите символ: ") if is_vowel(letter): print("1) да, гласная") else: print("1) нет, не гласная") print("2)", encode_text(text)) print("3)", count_char(text, symbol)) part = spaces_part(text) print("4)", round(part, 3), f"({part:.2%})") print("5)", replace_mit(text)) print("6)", count_x_y(text)) print("7)", swap_a_b(text)) ``` **Почему так:** - В п. 1 буква переводится в нижний регистр: `А` и `а` считаются одной буквой. - В п. 2 каждый символ проверяется отдельно: гласная → `1`, согласная → `2`, всё остальное → `3`. - В п. 3 используется `count` — он считает точные совпадения символа. - В п. 4 доля пробелов: \[ \text{доля}=\frac{\text{количество пробелов}}{\text{длина строки}} \] - В п. 5 `replace("mit", "max")` заменяет все вхождения. - В п. 6 строка переводится в нижний регистр, чтобы считать и `х`, и `Х`. - В п. 7 нельзя делать два `replace` подряд: после `а → б` все буквы станут `б`, и обратная замена сработает неправильно. Поэтому замена идёт **за один проход** по символам. **Проверка на примере:** Ввод: ```text text = mit х у! а б letter = и symbol = х ``` Вывод: ```text 1) да, гласная 2) 212323133132 3) 1 4) 0.333 (33.33%) 5) max х у! а б 6) 2 7) mit х у! б а ``` Проверка п. 4: в строке 12 символов, из них 4 пробела, значит \(4/12 = 0{,}333...\), то есть \(33{,}33\%\).