使用和函数有困难吗

2024-09-28 05:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

输入(list)将是一个类似于[[1,2],[5,6],[4,6]]的列表。我试着把整行加在一起测试它是偶数还是奇数。你知道吗

def evenrow(list):
    for row in list:
        for item in row:
            newNums+=item
            n=sum(newNums)
            print(n)

Tags: in列表fordefitemlistrowsum
3条回答

首先不要使用'list'作为变量名。其次,调用sum是为了int value,而不是为了list,这就是为什么会出现错误。请检查您的密码。你知道吗

不确定,但您的代码可能如下所示:

def evenrow(list):
    for row in list:
        value = sum(row)
        if values is even: # put your condition here
            # do something
        else:
            print "Value is odd"

您不需要以下代码行:n=sum(newNums)。您已经对newNums += item行中的所有行项进行了求和。其次,在代码中使用newNums之前必须声明它。因此,代码的固定版本如下所示:

def evenrow(list):
    for row in list:
        newNums = 0
        for item in row:
            newNums += item
        print(newNums)

顺便说一句:你应该考虑接受你以前的一些问题的答案,否则没有人会花时间来回答你的新问题。你知道吗

只是另一种方法:

def evenrow(lst):
    return sum(map(sum,lst))%2 == 0 #True if even, False otherwise.

其工作方式如下:

外部summap的所有项相加,将sum应用于lst中的每个项。在python2中,map返回一个list对象,而在python3中,map返回一个map对象。它被传递给outer sum函数,该函数将map中的所有项相加。你知道吗

def evenrow(lst):
    return sum(itertools.chain(*a)) % 2 == 0

这将展开a(每个子列表)中的所有项,并将它们作为chain对象链接在一起。然后将所有项相加,确定总和是否为偶数。你知道吗

相关问题 更多 >

    热门问题