将多位数相加,直到返回个位数

  • 本文关键字:返回 多位数 python
  • 更新时间 :
  • 英文 :


我需要帮助与编写一个python脚本和一个多位数的数字,直到一个数字留下。任何大于等于10的数

程序将接受10作为实例并返回1。

数字1 - 9返回错误,0返回0。非int类型的项也会返回错误。

我已经写了这个的多个版本,但我似乎不能让它按我想要的方式工作。

下面是我正在使用的一些代码:

def SumDig(n):
n = []
if(not isinstance(n, int)) or (n <= 9) or (n >= 1):
return ("Error")
elif(n >= 10):
return (n - 1) % 9 + 1;
return SumDig(n)

不需要是递归的:

def sumDigits(N):
if N is 0: return 0
if not isinstance(N,int) or N < 10: return "error"
return (N-1)%9+1

我们可以用多种方法得到和的个位数,

#simplest while loop method
n = int(input('Enter the digits = '))
sum = 0
while(n>0 or sum>9):
if(n==0):
n = sum 
sum = 0
sum += n%10
n = int(n/10)
print(sum)
#or
#Recursion method
def sums(n):
sum = 0
while (n>0):
x = n% 10
sum += x
n = int(n/10)
if(sum>9):
n = sum
return sums(n)
else:
return sum
n = int(input('Enter the digits = '))
print('The single digit sum of digits = ',sums(n))

最新更新