как посчитать сумму цифр в строке
Вам нужно проверить можно ли из символа сделать число, это делается так:
elem.isdigit()
вам надо найти сумму а не количество:
k = k + 1
k += int(elem)
код должен быть таким:
str1=str(input()) print(str1) k=0 for elem in str1: if elem.isdigit(): k += int(elem) print(elem) print("k=" ,k)
Отслеживать
ответ дан 6 ноя 2020 в 10:04
19.6k 6 6 золотых знаков 22 22 серебряных знака 56 56 бронзовых знаков
import re a = input('') digits = re.findall("\d", a) if not digits: print('Цифры не найдены') else: print(eval('+'.join(digits)))
Отслеживать
ответ дан 6 ноя 2020 в 13:39
Edward Grachev Edward Grachev
482 3 3 серебряных знака 5 5 бронзовых знаков
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.9.3159
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Найти сумму цифр числа в Python
Для изучения базовых конструкций языка Python преподаватели обычно всегда предлагают простые и понятные задачи школьного уровня. Но, не смотря на это, такие задачи полезны и учат не только языку, но и умению реализовывать алгоритмы. Рассмотрим тут одну из таких задач.
Дано целое положительное число. Найти сумму цифр этого числа.
Рассмотрим несколько вариантов решения этой задачи. Простейший и самій очевидный способ решения задачи состоит в том, чтобы получить каждую из цифр, составляющих данное число. Для этого последовательно будем делить исходное число n на 10 нацело (находит разряды числа). Деление будем выполнять в цикле, в котором сразу же и будем накапливать требуемую сумму цифр — suma, а также запоминать результат деления для новой итерации цикла в ту же переменную n. Деление (цикл) продолжается пока число n не достигнет нулевого значения.
n=2021 suma = 0 while n > 0: suma = suma + n % 10 n //= 10 print(‘Suma =’, suma)
Но, можно обойтись и без деления. Для этого заданное число n преобразуем в строку s, а затем переберем в цикле последовательно все символы (цифры) этой строки. Но, чтобы их можно было сложить, они должны быть преобразованы в числовые значения — int(c). И дальше остается только воспользоваться функцией sum(), чтобы сложить эти все цифры и получить сумму цифр числа — suma.
n=2021 s=str(n) suma= sum(int(c) for c in s) print(‘Suma =’, suma)
Но, нам этого мало и мы идем дальше. А можно ли при решении этой задачи избавиться от цикла. Попробуем. Решение будет похоже на предыдущее, но цикл заменим встроенной функцией map() применяемой к каждому элементу некоторого объекта. В нашем случае это символы строки str(n), полученной преобразованием исходного числа в строку и ее составляющих символов в целые числа.
n=2021 suma=sum(map(int, str(n))) print(‘Suma =’, suma)
Если код этого примера не совсем понятен, то проще будет понять следующий код — там используем преобразование числа в список из цифр и дальше проходимся по нему функцией map()
Вычисление суммы цифр целого числа
Применим знания по Питону и напишем программу, которая вычисляет сумму всех цифр содержащихся в числе. Очень полезно задать такой пример при прохождении темы по циклам в Питоне.

Описание алгоритма действий
В нашей задаче мы не знаем, сколько чисел содержится в числе. Поэтому придётся использовать оператор while .
- Вводим число с клавиатуры и преобразуем его в целочисленный тип.
- В переменной sum мы будем запоминать сумму чисел числа
- Начинаем цикл. Пока число N больше нуля производим операции:
- В переменной d сохраняем остаток от деления на 10.
- В N сохраняем результат деления без остатка.
- Суммируем остатки в переменной sum .
- Выводим результат вычислений.
Код программы на Питоне
# Пример. Вычисление суммы цифр целого числа
N = int(input(«Введите число Сумма всех цифр этого числа brush: py»>Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
Введите число= 554577
Сумма всех цифр этого числа = 33
Коротко и ясно. Посмотрите и остальные задачи по Питону.
© 2013-2020 Информатика. Полезные материалы по информационным технологиям. Использование материалов без активной ссылки на сайт запрещено! Публикация в печати только с письменного разрешения администрации.
Как найти сумму цифр в строке python
Най дите сумму цифр целого числа n.
Вход. Одно целое 32-х разрядное число n (число может быть отрицательным).
Выход. Выве дите сумму цифр числа n .
Пример входа
Пример выхода
РЕШЕНИЕ
элементарная задача
Входное число может быть отрицательным. В таком случае изменим его знак.
Реализуем рекурсивную функцию sum(n), вычисляющую сумму цифр числа n, согласно рекурсивной схеме:
· иначе вычисляем сумму цифр числа n / 10 и прибавляем к нему последнюю цифру n % 10 числа n.
Задачу можно также решить при помощи цикла (без использования рекурсии).
Реализуем функцию sum по приведенной выше рекурсивной схеме.
return n % 10 + sum(n / 10);
Основная часть программы. Читаем входное число n. Если оно отрицательно, то установим его значение на противоположное.
Вычисляем и выводим сумму цифр числа n.
Реализация алгоритма – итерация
В переменной sum находим сумму цифр числа n .
Перебираем цифры числа n . Прибавляем каждую цифру числа n к сумме sum .
sum = sum + n % 10;
import java.util.*;
public class Main
static int sum( int n)
return n % 10 + sum(n / 10);
public static void main(String[] args)
Scanner con = new Scanner(System. in );
int n = con.nextInt();
int res = sum(n);
System. out .println(res);
n = int(input())
if n 0: n = -n;
sum = 0
while n > 0:
sum = sum + n % 10;
n = n // 10;
print(sum)
Python реализация – функция
return sum(n // 10 ) + n % 10
n = int(input())
if n 0 : n = -n
s = map(int,list(str(n)))
print(sum(s))