Задача понятна. Ниже есть простой вариант решения для 7 класса по Python и пояснения по шагам.
Цель: понять, как посчитать, сколько раз встречается цифра 1 в десятичной записи натурального числа.
Способ 1. Через работу со строкой (самый простой для начинающих)
- Идея: считываем число как строку и считаем, сколько символов '1' в ней.
- Пошагово:
- Ввести число как строку.
- Посчитать количество вхождений символа '1' в строке.
- Вывести результат.
Код:
Программа: подсчитать количество цифр 1 в введённом числе (через строку)
s = input("Введите число? ")
cnt = s.count('1')
print("Единиц:", cnt)
Пример выполнения:
Введите число? 311
Единиц: 2
Способ 2. Арифметический (без преобразования к строкам) — для закрепления идеи деления на 10
- Идея: смотреть на последнюю цифру числа через остаток от деления на 10, считывать цифры по одной, пока число не кончится.
- Пошагово:
- Ввести число как целое.
- Пока число > 0, брать последнюю цифру (num % 10) и, если она равна 1, увеличивать счётчик.
- Отбрасывать последнюю цифру (num //= 10).
- Вывести результат.
Код:
Программа: подсчитать количество цифр 1 в числе без использования строк
num = int(input("Введите число? "))
cnt = 0
while num > 0:
if num % 10 == 1:
cnt += 1
num //= 10
print("Единиц:", cnt)
Пример выполнения:
Введите число? 311
Единиц: 2
Дополнительные пояснения для понимания
- Что такое десятичная запись? Это обычное представление числа в системе счисления с основанием 10, где цифры подряд образуют число (например, 311 = 3·10^2 + 1·10^1 + 1·10^0).
- Зачем мы ищем цифру 1? Потому что задача просит узнать, сколько раз встречается именно цифра 1 в этом представлении числа.
- В чем разница между двумя способами? Первый способ прост и понятен — работает с текстом. Второй способ демонстрирует работу с числами на уровне арифметики (остаток от деления и целочисленное деление).
Если хочешь, могу адаптировать решение под конкретный стиль заданий или проверить работу на других примерах.