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)

 

posted @ 2019-04-15 15:14  三木燕  阅读(1463)  评论(0编辑  收藏  举报