为了账号安全,请及时绑定邮箱和手机立即绑定

试图创建一个函数来返回列表中奇偶数的元组

试图创建一个函数来返回列表中奇偶数的元组

桃花长相依 2021-06-04 18:37:58
我试着做 value1 if expression1 else value2 for loopodds_evens(lista) = [odd,even odd+=1 if lista[i]%2==0 else even+=1 for i in range[0,len(lista)]]我究竟做错了什么?我期待odds_evens([1,2,3])给出答案(2,1)
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

没有 for 循环的解决方案:


def odds_evens(lista): 

    return (sum(num%2 == 1 for num in lista), sum(num%2 == 0 for num in lista))


if __name__ == '__main__':

    print(odds_evens([1,2,3]))

如果你真的需要使用 for 循环,这里有一种方法:


def odds_evens(lista):

    odd = 0, even = 0 # Variable Initialization

    for i in range(0, len(lista)): # You did range[]. range is a method - range()

        if lista[i]%2==0:

            even+=1

        else:

            odd+=1

    return (odd, even) # Returns a tuple


if __name__ == '__main__':

    print(odds_evens([1,2,3]))


查看完整回答
反对 回复 2021-06-15
?
呼唤远方

TA贡献1856条经验 获得超11个赞

只需要计算偶数(或奇数)。


def odds_evens(lista):

    even = 0

    for i in lista:

        if i%2==0:

            even += 1

    return (even, len(lista) - even)


查看完整回答
反对 回复 2021-06-15
  • 3 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信