python 数组中数字求和是否为零


需求是:

给定一个不少于4个元素的list(4个元素不重复):
请确认是否存在这样的4个元素,使得四数之和为0?如果有打印出符合条件的四个元素,如果没有打印False
#!/usr/bin/python3
# -*- coding: utf-8 -*-

# 定义数据
nu = [1, -1, -2, -3, 6, 7, 8, -9]
nu_len = (len(nu))
result = []

# 列出数组index所有排列组合且长度为4
for i in range(1, nu_len):
    for j in range(1, nu_len):
        for k in range(1, nu_len):
            for h in range(1, nu_len):
                # 排序以便去重
                a = sorted([nu[i], nu[j], nu[k], nu[h]])
                b = sum(a)
                if b == 0:
                    # 去掉重答案
                    if a not in result:
                        result.append(a)

# 判断result是否有值
if not result:
    print(False)
else:
    print(result)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM