leedocde-各位相加

三个简单函数:

class Solution:
    def addDigits(self, num: int) -> int:
        # 如果数字已经是个位数,则直接返回
        if num <= 9:
            return num
        
        # 持续执行直到数字变成个位数为止
        while True:
            # 将数字转换为其各个数字构成的列表
            cur_list = self.intLis(num)
            
            # 求各个数字的总和
            cur_num = self.addImp(cur_list)
            
            # 如果总和是个位数,则返回该数字
            if cur_num <= 9:
                return cur_num
            else:
                # 如果不是个位数,则更新数字为总和并重复过程
                num = cur_num
    
    # 辅助函数,对列表中的数字求和
    def addImp(self, mylist):
        total_sum = 0
        for i in mylist:
            total_sum += i
        return total_sum
    
    # 辅助函数,将整数转换为其各个数字构成的列表
    def intLis(self, num):
        mylist = list()
        while num > 0:
            mylist.append(num % 10)
            num = num // 10
        return mylist

 

posted @ 2024-03-25 13:52  Junior_bond  阅读(17)  评论(0)    收藏  举报