这个变量在我的Python代码中是什么类型的,我如何使用它?
什么是食物?它是局部变量吗?全局变量列表?为什么我可以用它?是单子吗?有人能解释一下为什么。。。在中是这样工作的吗这个变量在我的Python代码中是什么类型的,我如何使用它?,python,Python,什么是食物?它是局部变量吗?全局变量列表?为什么我可以用它?是单子吗?有人能解释一下为什么。。。在中是这样工作的吗 shopping_list = ["banana", "orange", "apple"] stock = { "banana": 6, "apple": 0, "orange": 32, "pear": 15 } prices = { "banana": 4, "apple": 2, "orange": 1.5, "pear":
shopping_list = ["banana", "orange", "apple"]
stock = { "banana": 6,
"apple": 0,
"orange": 32,
"pear": 15
}
prices = { "banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3
}
def compute_bill(food):
total = 0
for item in food:
if stock[item] > 0:
stock[item] -= 1
total += prices[item]
else:
pass
return total
print compute_bill(food)
food
是传递给compute\u bill
函数的参数。但当你这样做的时候:
print compute_bill(food)
它试图找到一个名为food
的全局变量。这是不存在的。我想你在找购物清单
在compute\u bill
函数中,food
是一个局部变量。您不能在变量之外访问它(除非将其全局化)
如果您将
购物清单
传递到计算账单
,则食品
将成为该清单。然后,您只需使用for循环遍历列表。我强烈建议在询问有关Python的问题之前先学习Python的基础知识
在这种情况下,食物就是所谓的参数。参数有点像传递到函数中的占位符,这样您就可以执行操作,而不必确切地知道您正在对其执行操作。让我们看一个例子:
创建一个将两个数字相加并返回结果的函数
问题:您不知道这两个数字的值
这就是参数非常有用的地方。参数基本上是用函数定义的变量。因此,我们可以将它们命名为普通变量,并将它们放在函数的括号中
我们将命名第一个参数number1
我们将命名第二个参数number2
让我们看看这是什么样子:
def add_nums(number1,number2):
return number1 + number2
如您所见,我们在add_nums
函数中传递了两个参数,并返回了将这两个参数相加的结果
现在我们有了函数,我们可以决定这两个数字应该是什么。假设number1
等于3,而number2
等于5。我们现在可以将这些称为参数的值插入函数调用:
add_nums(3,5)
将返回3(number1)和5(number2)之和,等于8。如您所见,当计算机通读代码时,它接受了两个参数3和5,并将它们替换为函数中的number1
和number2
。请记住,函数只返回结果。如果要查看结果,请使用:
print add_nums(3,5)
和8将被打印到控制台。至于你所问的for循环,很明显你需要一些好的教程来通读。以下是我学习Python的路线:
食物
是某种类型的集合。数组、列表、集合等等。它是代码可以迭代的东西。for
语句只是对其进行迭代。每次循环运行时,项
都是该集合中的一个值。具体来说,food
是该函数中的一个局部变量,作为参数传递给函数。如果最后一行是print compute\u bill(shopping\u list)
Rob,则此代码段更有意义,除非您引用的是特定的教程,否则请不要在问题标题中引用“code Academy”。“代码学院:编程理论”并没有向浏览问题列表的人们传达任何有用的信息,尽管它会成为一部很棒的极客伙伴警察电影的标题。看看我是如何把你的标题改写成这个问题的。我解决了你的两个问题,但我看到了其余的,我累了。