


Информатика на Python, 8 класс. Помогите, пожалуйста.
Написать программу, которая дополняет битовую строку последним битом, который должен быть равен 0, если в исходной строке чётное число единиц, и равен 1, если нечётное...
Дано:
Марья Ивановна лезет в окно
Доказать:
Как она будет вылезать
Проведём гипотенузу по её большому пузу
# Программа для добавления бита четности к битовой строке
# 1. Получаем исходную битовую строку от пользователя
bit_string = input("Введите битовую строку (только 0 и 1): ")
# Инициализируем счетчик единиц
one_count = 0
# 2. Проходим по каждому символу строки с помощью цикла for и range()
# range(len(bit_string)) генерирует последовательность чисел от 0 до длины строки минус 1.
# Эти числа - это индексы символов в строке.
for i in range(len(bit_string)):
# Получаем текущий символ по индексу i
current_bit = bit_string[i]
# 3. Проверяем, является ли текущий символ единицей
if current_bit == '1':
# Если да, увеличиваем счетчик единиц на 1
one_count = one_count + 1 # Используем + для сложения, как разрешено
# 4. Определяем бит четности на основе количества единиц
# Проверяем остаток от деления количества единиц на 2.
# Если остаток 0, число четное. Если остаток 1, число нечетное.
if one_count % 2 == 0:
# Если количество единиц четное, бит четности равен '0'
parity_bit = '0'
else:
# Если количество единиц нечетное, бит четности равен '1'
parity_bit = '1'
# 5. Добавляем бит четности к исходной строке
result_string = bit_string + parity_bit
# 6. Выводим результаты
print("Исходная строка:", bit_string)
print("Число единиц:", one_count)
print("Добавленный бит четности:", parity_bit)
print("Итоговая строка:", result_string)
s = input()
print(s, sum(map(int, s)) % 2, sep='')
Пример кода:
def add_parity_bit(bit_str):
count_ones = bit_str.count('1')
parity_bit = '0' if count_ones % 2 == 0 else '1'
return bit_str + parity_bit
Пример использования:
original = "1010001"
result = add_parity_bit(original)
print(result) # Вывод: "10100011" (количество единиц в original равно 3, добавляем 1)
Пояснение:
- Функция `add_parity_bit` принимает битовую строку `bit_str`.
- С помощью метода `count('1')` подсчитывается количество единиц в строке.
- Определяется контрольный бит `parity_bit` на основе четности количества единиц.
- Исходная строка дополняется этим битом и возвращается как результат.