我刚刚完成了Tatiana Tylosky's tutorial for Python并创建了我自己的Python pypet。在
在她的教程中,她展示了如何执行“for”循环,包括:
cat = {
'name': 'Fluffy',
'hungry': True,
'weight': 9.5,
'age': 5,
'photo': '(=^o.o^=)__',
}
mouse = {
'name': 'Mouse',
'age': 6,
'weight': 1.5,
'hungry': False,
'photo': '<:3 )~~~~',
}
pets = [cat, mouse]
def feed(pet):
if pet['hungry'] == True:
pet['hungry'] = False
pet['weight'] = pet['weight'] + 1
else:
print 'The Pypet is not hungry!'
for pet in pets:
feed(pet)
print pet
我想知道如何重复这个“for”循环,这样我就可以同时给猫和老鼠喂食三次。我读过的大多数Python指南都说,您必须执行以下操作:
^{pr2}$然而,在本例中,“for”循环使用列表“pets”,所以不能使用上面的代码?我该怎么办?我试过一些古怪的东西,比如:
for pet in pets(1,4):
feed(pet)
print pet
或者:
for pet in range(1,4):
feed(pet)
print pet
当然,它不起作用。我该怎么做才能让“for”循环重复?在
我将把你的提要
for
循环放在一个迭代三次的for
循环中。我会用一些类似的东西:for _ in range(3)
迭代三次。请注意,我使用_
,因为您没有使用迭代变量,请参见例如What is the purpose of the single underscore "_" variable in Python?编程语言允许您将一种结构嵌入另一种结构中。将当前循环置于一个运行三次的for循环下,正如@intboolstring的答案已经显示的那样。现在你还应该做两件事:
不要与
True
进行比较。if pet["Hungry"] == True:
最好写为切换到python3。你为什么要学一种过时的语言?
如果不想使用嵌套for循环,还可以临时扩展宠物列表,如下所示:
这是因为
pet * 3
创建了以下列表:[cat, mouse, cat, mouse, cat, mouse]
如果你需要对喂食顺序有更多的控制(例如先喂所有猫,然后喂所有老鼠),嵌套for-loop方法可能更好。在
相关问题 更多 >
编程相关推荐