Информатика 8 класс. исправьте код
s=input("Введите число")
k=int(0)
for c in s:
if c in ["0","1"]:
k+=1
print("Нулей:", k)
print("единиц:", len(s)-k)
исправьте этот код. вот условия:Ввести с клавиатуры число в двоичной системе счисления. Определить, сколько в его записи единиц и сколько нулей. Пишет что ошибка в 1 и 4 линии
Вот исправленный код с правильными отступами и обработкой ввода:
python
Копировать
Редактировать
s = input("Введите число: ") # Добавил двоеточие после строки ввода
k = 0 # Можно просто 0 без int()
for c in s:
if c in ["0", "1"]: # Добавил отступ перед if
k += 1
print("Нулей:", k)
print("Единиц:", len(s) - k)
Ошибки в оригинальном коде:
Ошибка в input("Введите число")
Пропущен двоеточие (:) после текста ввода.
Ошибка в if c in ["0","1"]:
Отсутствует отступ перед if, из-за чего Python выдаёт ошибку.
Дополнительные улучшения:
Убрал int(0), так как k = 0 достаточно.
Если пользователь введёт что-то кроме 0 и 1, код просто игнорирует эти символы.
Улучшил формат вывода (исправил "единиц" на "Единиц", чтобы было красиво).
Хочу предупредить, развернутый ответ выше, данный ботом, неверный, ведь он проверил лишь синтаксис кода.
У тебя в коде логическая ошибка. Если ты запустишь исправленный код, который тебе тот человек "починил", то ответ при тесте будет неправильный.
Я предлагаю тебе рабочий код:
s=input("Введите число: ")
k=int(0)
for c in s:
if c in ["0"]:
k+=1
print("Нулей:", k)
print("Единиц:", len(s)-k) можешь кинуть текст ошибки?