В Питоне. Уровень A. Напишите программу, которая изменяет символьную строку, заменяя все точки на нули и все символы

  • 66
В Питоне. Уровень A. Напишите программу, которая изменяет символьную строку, заменяя все точки на нули и все символы X на единицы. Пример: Введите строку: ..X.XX. Результат в двоичном коде: 0010110
Уровень B. Напишите программу, которая производит инверсию битов в символьной строке: заменяет все нули на единицы и все единицы на нули. Пример: Введите битовую строку: 10011010 Инверсия: 01100101
Grey
41
Конечно! Вот решение задачи уровня A:

python
# Чтение символьной строки от пользователя
строка = input("Введите строку: ")

# Создание новой строки с заменой точек на нули и символов X на единицы
новая_строка = ""
for символ in строка:
if символ == ".":
новая_строка += "0"
elif символ == "X":
новая_строка += "1"

# Вывод результата в двоичном коде
print("Результат в двоичном коде:", новая_строка)


Давайте распишем этот код по шагам:

1. Сначала мы запрашиваем у пользователя символьную строку с помощью функции `input`.
2. Затем мы создаем новую пустую строку `новая_строка`, в которую будем добавлять символы с заменой точек на нули и символов X на единицы.
3. Далее мы проходим по каждому символу в исходной строке при помощи цикла `for`.
4. Внутри цикла проверяем, является ли текущий символ точкой. Если да, то добавляем в `новую_строку` символ "0" с помощью оператора `+=`.
5. Если текущий символ - это символ X, то добавляем в `новую_строку` символ "1".
6. После окончания цикла выводим результат в двоичном коде на экран.

Теперь решим задачу уровня B:

python
# Чтение битовой строки от пользователя
битовая_строка = input("Введите битовую строку: ")

# Создание новой строки с инверсией битов
инвертированная_строка = ""
for бит in битовая_строка:
if бит == "0":
инвертированная_строка += "1"
elif бит == "1":
инвертированная_строка += "0"

# Вывод результата инверсии
print("Инверсия:", инвертированная_строка)


А теперь пошаговое объяснение:

1. Мы снова запрашиваем у пользователя ввод битовой строки.
2. Создаем пустую строку `инвертированная_строка`, в которую будем добавлять инвертированные биты.
3. В цикле `for` мы проходим по каждому биту в исходной битовой строке.
4. Если текущий бит равен "0", то добавляем в `инвертированная_строка` бит "1".
5. Если текущий бит равен "1", то добавляем в `инвертированная_строка` бит "0".
6. После окончания цикла выводим результат инверсии на экран.

Надеюсь, это решение понятно школьникам! Если есть ещё вопросы, не стесняйтесь задавать.