Сумма цифр числа python

Пользователь вводит трехзначное число. Программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.

Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, то получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.

В языках программирования почти всегда есть две такие операции:

1) нахождение целого при делении нацело,

2) нахождение остатка при делении нацело.

В языке программирования Python v.3 первая операция обозначается // (двумя знаками деления), а вторая – % (знаком процента). Например:

Примечание. Операции деления нацело и нахождения остатка с точки зрения арифметики применимы только к целым числам. Но в Python их можно использовать и по отношению к дробным числам:

Алгоритм нахождения суммы цифр трехзначного числа abc (где a – сотни, b – десятки и c – единицы) можно описать так:

  1. Найти остаток от деления abc на 10, записать его в переменную d1. Это будет цифра c.
  2. Избавиться от цифры c в числе abc, разделив его нацело на 10.
  3. Найти остаток от деления ab на 10, записать его в переменную d2. Это будет цифра b.
  4. Избавиться от цифры b в числе ab, разделив его нацело на 10.
  5. Найти остаток от деления a на 10, записать его в переменную d3. Это будет цифра a.
  6. Сложить цифры a, b и c.
Читайте также:  Топ иллюстрации для стима

Однако, если нам известно количество разрядов (цифр) числа, есть другой способ вычленения цифр из числа:

  1. Остаток от деления на 10 исходного числа дает последнюю цифру числа.
  2. Если найти остаток от деления на 100 исходного числа, то мы получи последние две цифры числа. Далее следует разделить полученное двухзначное число нацело на 10, и у нас окажется вторая цифра числа.
  3. Если исходное трехзначное число разделить нацело на 100, то получится первая цифра числа.

Применим знания по Питону и напишем программу, которая вычисляет сумму всех цифр содержащихся в числе. Очень полезно задать такой пример при прохождении темы по циклам в Питоне.

Описание алгоритма действий

В нашей задаче мы не знаем, сколько чисел содержится в числе. Поэтому придётся использовать оператор while .

  1. Вводим число с клавиатуры и преобразуем его в целочисленный тип.
  2. В переменной sum мы будем запоминать сумму чисел числа
  3. Начинаем цикл. Пока число N больше нуля производим операции:
  4. В переменной d сохраняем остаток от деления на 10.
  5. В N сохраняем результат деления без остатка.
  6. Суммируем остатки в переменной sum .
  7. Выводим результат вычислений.

Код программы на Питоне

Как видите – программа несложная. Почему делим именно на 10? Ведь десятка – это основание десятичной системы счисления. Разобрав код, вы поймете, что здесь алгоритм простой и есть немало других вариантов решения.

Пример вычисления суммы на Питоне

Коротко и ясно. Посмотрите и остальные задачи по Питону.

Вводится натуральное число (целое больше нуля). Необходимо найти сумму и произведение цифр, из которых состоит это число. При этом если в числе встречается цифра 0, то ее не надо учитывать при нахождении произведения.

Алгоритм решения задачи сводится к извлечению последней цифры числа путем нахождения остатка от деления на 10 и добавлению извлеченной цифры к сумме и умножению на нее произведения. Далее следует само число разделить нацело на 10, чтобы избавится от последней цифры. Эти действия следует выполнять до тех пор, пока число больше 0. На последней итерации цикла однозначное число делится нацело на 10, в результате чего получается 0 и цикл завершается.

Читайте также:  1С дополнительные реквизиты добавить программно

В коде ниже выражение добавления цифры к сумме можно поместить в ветку if также как произведение.

В языке программирования Python решить подобную задачу может быть легче другим способом. Можно оставить число в строковом представлении и далее в цикле for перебрать символы строки.

Примечание. Выражение summa += int(i) – это то же самое, что summa = summa + int(i). Аналогичная сокращенная форма используется и для умножения.

Через строковое представление легко решить и более сложную задачу. Например, надо посчитать сумму и произведение цифр дробного числа или всех цифр, встречающихся в строке. В таком случае решение может быть таким:

Оцените статью
Добавить комментарий

Adblock detector