Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Информатика на Python, 8 класс. Помогите, пожалуйста.

Написать программу, которая дополняет битовую строку последним битом, который должен быть равен 0, если в исходной строке чётное число единиц, и равен 1, если нечётное...

По дате
По рейтингу
Аватар пользователя
2мес

Дано:
Марья Ивановна лезет в окно
Доказать:
Как она будет вылезать
Проведём гипотенузу по её большому пузу

Аватар пользователя
Мыслитель
2мес
123456789101112131415161718192021222324252627282930313233343536373839
 # Программа для добавления бита четности к битовой строке 
 
# 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) 
 
Аватар пользователя
Высший разум
2мес
12
 s = input()
print(s, sum(map(int, s)) % 2, sep='') 
Аватар пользователя
Мудрец
2мес

Пример кода:
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` на основе четности количества единиц.
- Исходная строка дополняется этим битом и возвращается как результат.