📜  Python程序对给定数字的位数求和

📅  最后修改于: 2022-05-13 01:55:07.040000             🧑  作者: Mango

Python程序对给定数字的位数求和

给定一个数字,任务是在Python中找到该数字的数字总和。
例子:


以下是对数字求和的方法。
方法一:使用 str() 和 int() 方法。 : str() 方法用于将数字转换为字符串。 int() 方法用于将字符串数字转换为整数。

将数字转换为字符串并迭代字符串中的每个数字,然后将每个数字转换为整数并添加到每次迭代中的数字总和。

Python3
# Python program to
# compute sum of digits in 
# number.
   
# Function to get sum of digits 
def getSum(n):
    
    sum = 0
    for digit in str(n): 
      sum += int(digit)      
    return sum
   
n = 12345
print(getSum(n))


Python3
# Python program to
# compute sum of digits in 
# number.
   
# Function to get sum of digits 
def getSum(n):
     
    strr = str(n)
    list_of_number = list(map(int, strr.strip()))
    return sum(list_of_number)
   
n = 12345
print(getSum(n))


Python3
# Python 3 program to
# compute sum of digits in 
# number.
   
# Function to get sum of digits 
def getSum(n):
    
    sum = 0
    while (n != 0):
       
        sum = sum + (n % 10)
        n = n//10
       
    return sum
   
n = 12345
print(getSum(n))


Python3
# Python program to compute
# sum of digits in number.
   
def sumDigits(no):
    return 0 if no == 0 else int(no % 10) + sumDigits(int(no / 10)) 
   
# Driver code
n = 12345
print(sumDigits(n))


输出:

15

方法 2:使用 sum() 方法。: sum() 方法用于对列表中的数字求和。

使用 str() 将数字转换为字符串并剥离字符串并使用 strip() 和 map() 方法分别转换为数字列表。然后使用 sum() 方法求和。

Python3

# Python program to
# compute sum of digits in 
# number.
   
# Function to get sum of digits 
def getSum(n):
     
    strr = str(n)
    list_of_number = list(map(int, strr.strip()))
    return sum(list_of_number)
   
n = 12345
print(getSum(n))

输出:

15

方法3:使用通用方法:

  • 获取号码
  • 声明一个变量来存储总和并将其设置为 0
  • 重复接下来的两个步骤,直到数字不为 0
  • 在余数 '%'运算符的帮助下,将数字除以 10,然后将其加到 sum 中,得到最右边的数字。
  • 在“//”运算符的帮助下将数字除以 10
  • 打印或返回总和

A. 迭代方法:

Python3

# Python 3 program to
# compute sum of digits in 
# number.
   
# Function to get sum of digits 
def getSum(n):
    
    sum = 0
    while (n != 0):
       
        sum = sum + (n % 10)
        n = n//10
       
    return sum
   
n = 12345
print(getSum(n))

输出:

15

B. 递归方法:

Python3

# Python program to compute
# sum of digits in number.
   
def sumDigits(no):
    return 0 if no == 0 else int(no % 10) + sumDigits(int(no / 10)) 
   
# Driver code
n = 12345
print(sumDigits(n))

输出:

15