美文网首页Python之路
根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符

根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符

作者: 陈宝佳 | 来源:发表于2017-10-16 21:16 被阅读24次

    根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的总和 如: def func(start,end):

    所有可以用递归解决的问题,都可以用 for 循环来解决.

    
    def func(start,end,geshu=0,zongshu=0):
        if type(start) != int or type(end) != int:
            return print('ERROR:请输入整数类型!!')
    
        if start == end:
            return print('ERROR: 请勿输入相同整数!!')
    
        elif start > end:
            res=(start - end)
            end_list=[end]
    
            for i in range(res):
                end += 1
                end_list.append(end)
            # print (end_list)
            zongshu_list = []
    
            for i in end_list:
                if i % 3 == 0 and i % 7 == 0:
                    geshu += 1
                    zongshu_list.append(i)
                else:
                    pass
            num = geshu
            all_num = sum(zongshu_list)
            return print ('符合条件的数字个数 %s,符合条件的数字 %s,符合条件的数字总和 %s!' %(num,zongshu_list,all_num))
    
        else:
            res=(end - start)
            start_list=[start]
            for i in range(res):
                start += 1
                start_list.append(start)
            # print (start_list)
            zongshu_list = []
            for i in start_list:
                if i % 3 == 0 and i % 7 == 0:
                    geshu += 1
                    zongshu_list.append(i)
                else:
                    pass
            num = geshu
            all_num = sum(zongshu_list)
            return print ('符合条件的数字个数 %s,符合条件的数字 %s,符合条件的数字总和 %s!' %(num,zongshu_list,all_num))
    
    func(3,333)
    
    #输出
    符合条件的数字个数 15,符合条件的数字 [21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273, 294, 315],符合条件的数字总和 2520!
    

    相关文章

      网友评论

        本文标题:根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符

        本文链接:https://www.haomeiwen.com/subject/triluxtx.html