首页 > 解决方案 > 我需要制作一个函数来计算一系列数字中有多少赔率

问题描述

def my_n_odds(a):
    num = 0
    for num in a:
        if num % 2 != 0:
            num += 1
    return num

my_n_odds(np.arange(100))

这就是我目前所拥有的,它一直返回 100,而真正的值应该是 50。有谁知道如何提供帮助?

标签: python

解决方案


有更有效的方法可以做到这一点,但如果你想用原来的方法解决它,请将函数修改为:

def my_n_odds(a):
  n_odds = 0
  for num in a:
    if num % 2 != 0:
      n_odds += 1
  return n_odds

my_n_odds(np.arange(100))

名称冲突给了你一个逻辑错误。


推荐阅读