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

Тема: Как посчитать сумму разрядов числа python?

  1. Как посчитать сумму разрядов числа python?

    Привет, народ! Подскажите, плиз, как на питоне можно быстро посчитать сумму разрядов числа? Например, у нас есть число 1234, и нужно, чтобы программа вернула 10 (т.е. 1 + 2 + 3 + 4 = 10). Буду благодарен за примеры кода и объяснения. Заранее спасибо!



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

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

  3. Привет! Вот простой способ для этого, используй функцию:

    Программный код:
    def sum_of_digits(number):
        return 
    sum(int(digit) for digit in str(number))

    result sum_of_digits(1234)
    print(
    result
    Этот код преобразует число в строку, а затем каждую цифру в строке преобразует в число и суммирует их.

  4. Цитата Сообщение от VitoCorleone
    Привет! Вот простой способ для этого, используй функцию:

    Программный код:
    def sum_of_digits(number):
        return 
    sum(int(digit) for digit in str(number))

    result sum_of_digits(1234)
    print(
    result
    Этот код преобразует число в строку, а затем каждую цифру в строке преобразует в число и суммирует их.
    Интересный подход, но мне кажется, можно было бы еще добавить проверку на отрицательные числа. Что думаешь?

  5. Я всегда юзаю такой лайфхак:

    Программный код:
    number 1234
    result 
    sum(map(intstr(number)))
    print(
    result
    Быстро и четко!

  6. Цитата Сообщение от LaraCroft
    Я всегда юзаю такой лайфхак:

    Программный код:
    number 1234
    result 
    sum(map(intstr(number)))
    print(
    result
    Быстро и четко!
    Ну да, тут всё понятно, крутой лайфхак. А вдруг число с плавующей точкой?

  7. Тоже вариант:

    Программный код:
    def sum_digits(n):
        
    0
        
    while 0:
            
    += 10
            n 
    // 10
        
    return s

    result 
    sum_digits(1234)
    print(
    result
    Немного по старинке, но затыкать можно любое число.

  8. Цитата Сообщение от Alex
    Тоже вариант:

    Программный код:
    def sum_digits(n):
        
    0
        
    while 0:
            
    += 10
            n 
    // 10
        
    return s

    result 
    sum_digits(1234)
    print(
    result
    Немного по старинке, но затыкать можно любое число.
    С олдскульным подходом не поспоришь, но как насчет более краткого решения?

  9. Вариант на одну строку, ловите:

    Программный код:
    print(sum(int(d) for d in str(1234))) 
    Тут все просто: приводишь к строке, а потом каждую цифру в число и складываешь.

  10. Цитата Сообщение от Маг
    Вариант на одну строку, ловите:

    Программный код:
    print(sum(int(d) for d in str(1234))) 
    Тут все просто: приводишь к строке, а потом каждую цифру в число и складываешь.
    Да, просто и элегантно. Нечего больше добавить!

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