当我尝试计算奇数时为什么没有“ none”?

时间:2018-11-08 07:20:47

标签: python python-3.x

我想要什么:

  

计算列表a的奇数

我的代码如下:

def find_it(seq):
    set_seq=set(seq)
    dict_seq = {}
    for item in set_seq:
        dict_seq.update({item:seq.count(item)})
    print(dict_seq)

a=[20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5]
print(find_it(a))

这将输出:

{1: 2, 2: 2, 3: 2, 4: 2, 5: 3, 20: 2, -2: 2, -1: 2}
None

为什么会输出None

2 个答案:

答案 0 :(得分:0)

您不返回任何东西,因此没有要打印的内容。这是您正在寻找的答案!

def find_it(seq):
    set_seq=set(seq)
    dict_seq = {}
    for item in set_seq:
        dict_seq.update({item:seq.count(item)})
    return dict_seq

a=[20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5]
my_dict = find_it(a)
print(my_dict)

答案 1 :(得分:0)

计算奇数

要对奇数进行计数,请减少到一组后再运行循环,查看%2,然后将该数字追加到列表中(或增加计数器)。由于您似乎还很新,所以这是一种易于理解的方法:

def find_it(seq):
    set_seq=set(seq)
    odds=[]
    for item in set_seq:
        if item%2==1:
            odds.append(item)
    return len(odds)