Тёмный

Обработка цифр числа. Сумма, произведение, количество цифр, удовлетворяющих условию. 

Владимир Шубинкин
Подписаться 377
Просмотров 1,9 тыс.
50% 1

Решение задач, предполагающих обработку цифр числа: сумма чётных цифр, произведение нечётных цифр, количество цифр, кратных трём.
Блок-схема + программа на Python 3
Бонус: решение в одну строку с использованием текстового представления числа.

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 3   
@vladimir.shubinkin
@vladimir.shubinkin 3 года назад
ВАЖНОЕ замечание Целью данного урока было показать основы работы с цифрами числа и структурное единообразие таких программ, не отвлекаясь на достаточно значимые частные случаи: например, приведённая программа для подсчёта произведения будет выводить 1 для чисел, в которых вообще нет нечётных чисел. Полная программа должна выглядеть так: # Произведение нечётных цифр a = int(input()) p = 1 flag = False while a: d = a % 10 if d % 2: s *= d flag = True a //= 10 print(p if flag else 'В данном числе нет нечётных цифр') Здесь дополнительно используется переменная flag, которая позволяет отделить случай, когда в числе из нечётных цифр только единицы, от случая, когда вообще нет нечётных цифр. Аналогично можно поступить с суммой, если нам это важно: # Сумма чётных цифр числа a = int(input()) s = 0 flag = False while a: d = a % 10 if d % 2 == 0: s += d flag = True a //= 10 print(s if flag else 'В данном числе нет чётных цифр') А вот в программе подсчтёта количества цифр переменная-счётчик сама играет роль флага: # количество кратных трём цифр a = int(input()) c = 0 while a: d = a % 10 if d % 3 == 0: c += 1 a //= 10 print(c if c else 'В данном числе нет цифр, кратных 3') Ещё примечание: в качестве параметра функции print() в этих программах передаётся значение, полученное с помощью так называемого тернарного условного оператора (я подробно рассказывал о нём в других видео). Строка print(s if flag else 'В данном числе нет чётных цифр') может быть заменена следующими четырьмя строками: if flag: print(s) else: print('В данном числе нет чётных цифр')
@vladimir.shubinkin
@vladimir.shubinkin 3 года назад
Примечание. Чтобы программа работала не только для натуральных, но и для любых целых чисел, достаточно добавить функцию модуля в первую строку программы: a = abs(int(input()))
@figamidi5486
@figamidi5486 2 года назад
Спасибо большое!!!! 👍👍👍👍👍👍👍
Далее
Простое число (while)
11:58
Просмотров 3,8 тыс.
Дикий Бармалей разозлил всех!
01:00
Минимальная цифра числа
10:20
Просмотров 3,1 тыс.
Алгоритм Евклида
14:23
Просмотров 661
Дикий Бармалей разозлил всех!
01:00