You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Python自定义addToInventory函数返回None值?

问题分析与解决思路

嘿,我一眼就看到问题出在哪啦!你的函数addToInventory确实在尝试修改传入的inventory字典,但Python里的函数如果没有显式的return语句,默认会返回None——这就是为什么你执行inv = addToInventory(...)后,inv变成了None的原因。

给你两个核心思路,选哪个都可以:

  • 思路一:利用字典的可变性直接修改
    字典是可变对象,你在函数内部对inventory做的修改会直接作用到外部的原字典上。所以你完全不需要把函数的返回值赋值给inv,直接调用函数就行:

    addToInventory(inv, dragonLoot)
    

    这样调用后,原来的inv字典已经被更新了,不需要再重新赋值。

  • 思路二:让函数返回修改后的字典
    如果你还是想保留inv = addToInventory(...)的写法,那就在函数的末尾加上一条return语句,把修改后的inventory返回出去。这样赋值的时候,inv就会拿到更新后的字典,而不是None。

另外提个小细节:你现在的循环只处理了addedItems中不在inventory里的元素,那些已经存在的元素(比如dragonLoot里的gold coin)数量并没有增加,这部分后续也需要补充处理哦~

内容的提问来源于stack exchange,提问作者K. Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:32:26