python实现计算四方和问题(四方定理的python实现)

今天遇到了一个用python实现四方和的简单计算问题,完成后记录一哈。
直接上代码:

"""
计算四平方和:
请编写一个Python函数f(n),该函数的功能是返回正整数n的最佳分解方案,
若参数n不是正整数,则返回(0, 0, 0, 0)。
例如:
调 用:f(5) 返回值:(0, 0, 1, 2)
调 用:f(12) 返回值:(0, 2, 2, 2)
调 用:f(0) 返回值:(0, 0, 0, 0)
调 用:f("aaa") 返回值:(0, 0, 0, 0)
"""


def f(num):
    # 定义几个空列表存放四平方和的元素及结果
    a = []
    b = []
    c = []
    d = []
    res = []
    scope_range = range(0, 9)
    # 类型判断,完成功能:若参数n不是正整数,则返回(0, 0, 0, 0)
    if type(num) != int:
        res.append('无')  # 处理程序不进入循环导致的min()函数报错问题
        print('(0,0,0,0)')
    # 遍历0-9随机数获取四平方和元素
    for item in scope_range:
        a.append(item)
        b.append(item)
        c.append(item)
        d.append(item)
    # 将各元素逐一遍历并获取
    for item1 in a:
        for item2 in b:
            for item3 in c:
                for item4 in d:
                    w = item1
                    x = item2
                    y = item3
                    z = item4
                    # 进行判断满足条件的元素组合
                    if w ** 2 + x ** 2 + y ** 2 + z ** 2 == num:
                        # 将满足条件元素添加到空列表
                        res.append((w, x, y, z))
    # 对满足条件元素做排序取出答案
    print('最佳分解方案:', min(res))

由于初学python,代码有点菜,望各位前辈多多指教!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值