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 @   Junior_bond  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示