Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Помощь по теме: как посчитать сумму чисел числа в пайтон

  1. Помощь по теме: как посчитать сумму чисел числа в пайтон

    Привет, ребзя! Нужен совет по Питону. Хочу запилить функцию, которая будет считать сумму всех цифр числа. Например, у нас есть число 472 - и нужно, чтобы функция вернула 13 (4+7+2). Вопрос, как это можно реализовать в Python? Какие библиотечные функции юзать? Буду признателен за код-примеры и любые комменты. В общем, как посчитать сумму чисел числа в пайтон? Всем спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Вот тебе примерчик кода:

    Программный код:
    def sum_of_digits(n):
        
    abs(n)
        
    sum_digits 0
        
    while 0:
            
    sum_digits += 10
            n 
    //= 10
        
    return sum_digits
      
    number 
    472
    print(sum_of_digits(number))  # Output: 13 
    Тут всё просто: используем цикл while, чтобы поочередно отдирать последнюю цифру числа и суммировать. Не забудь учесть отрицательные числа.

  4. Цитата Сообщение от Женя В
    Привет! Вот тебе примерчик кода:

    Программный код:
    def sum_of_digits(n):
        
    abs(n)
        
    sum_digits 0
        
    while 0:
            
    sum_digits += 10
            n 
    //= 10
        
    return sum_digits
      
    number 
    472
    print(sum_of_digits(number))  # Output: 13 
    Тут всё просто: используем цикл while, чтобы поочередно отдирать последнюю цифру числа и суммировать. Не забудь учесть отрицательные числа.
    Круто! Понял, что можно абс через abs и цикл while! Респект за разжёвывание с примером. Но вычислять для отрицательных - это красота.

  5. Можно вообще по-простому:

    Программный код:
    def sum_of_digits(n):
        return 
    sum(int(digit) for digit in str(abs(n)))
      
    number = -472
    print(sum_of_digits(number))  # Output: 13 
    Число переводим в строку, а потом каждую цифру обратно в int и суммируем.

  6. Цитата Сообщение от Ikar
    Можно вообще по-простому:

    Программный код:
    def sum_of_digits(n):
        return 
    sum(int(digit) for digit in str(abs(n)))
      
    number = -472
    print(sum_of_digits(number))  # Output: 13 
    Число переводим в строку, а потом каждую цифру обратно в int и суммируем.
    Класс! Мыслил на эту тему, но не дожал. Твой вариант лаконичный и читабельный!

  7. Для любителей функционального программирования тоже есть решение:

    Программный код:
    from functools import reduce
      
    def sum_of_digits
    (n):
        
    abs(n)
        return 
    reduce(lambda xyymap(intstr(n)))
      
    number 472
    print(sum_of_digits(number))  # Output: 13 
    Тут используем reduce и map. Быстренько и аккуратненько.

  8. Цитата Сообщение от Луч
    Для любителей функционального программирования тоже есть решение:

    Программный код:
    from functools import reduce
      
    def sum_of_digits
    (n):
        
    abs(n)
        return 
    reduce(lambda xyymap(intstr(n)))
      
    number 472
    print(sum_of_digits(number))  # Output: 13 
    Тут используем reduce и map. Быстренько и аккуратненько.
    О, reduce и map! Фишечки для гиков, уважаю. Выгляит посложнее, зато ф-но круто!

  9. Ребята, всеми забытый способ - рекурсия. Вот так:

    Программный код:
    def sum_of_digits(n):
        
    abs(n)
        if 
    == 0:
            return 
    0
        
    else:
            return 
    10 sum_of_digits(// 10)

    number 472
    print(sum_of_digits(number))  # Output: 13 
    Немного магии рекурсии - и задача тоже решена.

  10. Цитата Сообщение от Ева
    Ребята, всеми забытый способ - рекурсия. Вот так:

    Программный код:
    def sum_of_digits(n):
        
    abs(n)
        if 
    == 0:
            return 
    0
        
    else:
            return 
    10 sum_of_digits(// 10)

    number 472
    print(sum_of_digits(number))  # Output: 13 
    Немного магии рекурсии - и задача тоже решена.
    Рекурсия - топ! Люблю фишки с базовыми и краевыми условиями. Вроде как матер-магия среди методов.

Страница 1 из 2 12 ПоследняяПоследняя