python - 我需要制作一个函数来计算一系列数字中有多少赔率
问题描述
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。有谁知道如何提供帮助?
解决方案
有更有效的方法可以做到这一点,但如果你想用原来的方法解决它,请将函数修改为:
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))
名称冲突给了你一个逻辑错误。
推荐阅读
- java - 在第一次提交之前开始两次交易?
- aws-lambda - 从 aws cli 部署到 lambda 边缘函数
- .net - 无法访问子命名空间中的 .NET Windows.Form.Control 自定义控件中的组件控件
- mysql - 为什么我的 externalName 类型的服务配置在 Kubernetes 中不起作用?
- javascript - React / Redux:无法将状态传递给组件并且包装器完全处于非活动状态
- javascript - 如何在 JSON 索引调用中使用变量中的随机数?
- python - 我可以访问 Django 模型中的选择类别吗?
- python - 没有奇偶链接列表
- r - 仅当 df1 中的行 ID 值也存在于 df2 中时才附加行
- typescript - 导入其他扩展原型时,TypeScript 扩展原型不起作用