List python 3列表作业让我感到困惑

List python 3列表作业让我感到困惑,list,function,python-3.x,List,Function,Python 3.x,好的,我应该创建一个向导清单程序,列出向导当前身上的物品。他最多只能拿4件物品,从3件开始。我的功能似乎是个问题,但我不确定从书上看我做错了什么 我的显示功能就像一个魔咒…我的编辑不是编辑…是的。我会把这个贴上去,希望你们能给我一些线索,告诉我我做错了什么。提前谢谢你的帮助。(不,我没有要求任何人做我的家庭作业……但也许只是给我指出正确的方向) 你说的是家庭作业,所以我假设你在过去一个月左右才开始学习 只要看一眼,也许是因为缺少退货报表/全球库存/任何反映库存变化的东西 def edit_it(

好的,我应该创建一个向导清单程序,列出向导当前身上的物品。他最多只能拿4件物品,从3件开始。我的功能似乎是个问题,但我不确定从书上看我做错了什么

我的显示功能就像一个魔咒…我的编辑不是编辑…是的。我会把这个贴上去,希望你们能给我一些线索,告诉我我做错了什么。提前谢谢你的帮助。(不,我没有要求任何人做我的家庭作业……但也许只是给我指出正确的方向)


你说的是家庭作业,所以我假设你在过去一个月左右才开始学习

只要看一眼,也许是因为缺少退货报表/全球库存/任何反映库存变化的东西

def edit_it(): 库存=[“球体”、“杖”、“法术书”、“帽子”、“药剂”、“长袍”] item=输入(“您在寻找什么项目?”) 如果是库存中的项目: 库存。删除(项目)

在函数中(如edit_it),所有变量要么是函数的参数,要么是在函数中创建的,要么是全局变量。如果您希望库存反映您的更改,则需要将其输出到return语句中。退货声明将为您提供清单/库存,但由您决定是否购买清单。您可以将返回列表的值分配给另一个变量

但是,由于您在函数内定义了库存,因此每次调用函数时,您都将执行以下声明/分配:

库存=[“球体”、“杖”、“法术书”、“帽子”、“药剂”、“长袍”]

实际上,你永远不会超过5项。因此,除了一个返回函数外,您可能希望在每次需要编辑库存时,都将库存作为参数传递给edit_it函数。例如:

def example(inventory, itemToRemove):
    inventory.remove(itemToRemove)
    return inventory

newThing = example(oldThing, theUserInput)

newerThing = example(newThing, theNewUserInput)
(顺便说一句,这些函数名都很糟糕,但我认为它对我所了解的总体结构给出了一个很好的总结。关于效率和清晰性,还有一些东西要说,但是我不知道。)


另外,如果你不介意我问你,为什么你有master_inventory_list()呢?如果它是一个可以在整个程序中使用的值,那么有一个更好的方法(而不是函数的实际使用方式)。

我想主库存列表真的适合我?我想列出一些可以显示最多物品数量的东西。是的,我最近才开始学这个东西。谢谢你的评论!我还没有机会读完整的帖子(早上的生活义务),但是在浏览之后,你的建议会有所帮助!!所以,谢谢你。:)啊,明白了。是的,你在函数中使用master_inventory_list的方式,它似乎被用作一个普通变量。没有什么坏事会真的发生,但总的来说也不会发生。因此,如果你的导师因为(看起来像是)次要的原因而扣分,按照现在的工作方式,它可能是合格的。而且没有问题!我希望它能帮助你,如果你需要澄清,请随时询问。Python是学习编程的一种非常有趣和有益的方式。你认为你能给我展示另一个编辑或拖放的例子吗?我不断收到回溯错误,我不知道为什么。。。。def edit_it(inventory):item=输入(“您在寻找什么项目?”)如果库存中的项目是:库存。删除(item)退货库存
def example(inventory, itemToRemove):
    inventory.remove(itemToRemove)
    return inventory

newThing = example(oldThing, theUserInput)

newerThing = example(newThing, theNewUserInput)