问题描述:
给出一个非负整数num,反复将所有位的数字相加,直到得出一个位数位1的整数。
问题示例:
给出num=38,相加的过程位3+8 = 11,1+1 = 2,输出2
代码实现:
很明显,就是一个递归调用的解题思路
class Solution:
def addDigits(self,num):
self.num = list(str(num))
self.num = list(map(int,self.num))
self.num = sum(self.num)
if len(str(self.num)) == 1:
return self.num
elif len(str(self.num)) > 1:
return self.addDigits(self.num)
if __name__ =='__main__':
a = input("请输入:")
temp = Solution()
res = temp.addDigits(a)
print(res)
输出:
请输入:38
2