Python程序对给定数字的位数求和
给定一个数字,任务是在Python中找到该数字的数字总和。
例子:
Input : n = 87
Output : 15
Input : n = 111
Output : 3
以下是对数字求和的方法。
方法一:使用 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