Python函数第二次不工作
每当我在将“铁剑”放入一个Python函数第二次不工作,python,python-2.7,Python,Python 2.7,每当我在将“铁剑”放入一个包中后第二次运行此函数,并尝试添加另一个来测试它时,它什么也不做,代码完全冻结 行李都是列表 我的猜测是while循环被卡住了,每当我在游戏中把一些东西放入列表时,它都不会改变长度,因为这不是语言的工作方式 一旦你在包里放了一把剑,你的条件就都不正确了。你的len(bag\u剑)正好是1,(因此如果len(bag\u剑)>1:将不匹配),而包中的铁剑是假的 因为您的if语句都不匹配,所以不会执行break,而while循环将永远继续 您不想测试您的包中是否有多个物品。测
包中后第二次运行此函数,并尝试添加另一个来测试它时,它什么也不做,代码完全冻结
行李
都是列表
我的猜测是while循环被卡住了,每当我在游戏中把一些东西放入列表时,它都不会改变长度,因为这不是语言的工作方式 一旦你在包里放了一把剑,你的条件就都不正确了。你的len(bag\u剑)
正好是1,(因此如果len(bag\u剑)>1:
将不匹配),而包中的铁剑是假的
因为您的if
语句都不匹配,所以不会执行break
,而while
循环将永远继续
您不想测试您的包中是否有多个物品。测试该包中是否有任何物品:
def equip(item):
x = True
while x == True:
if len(bag_sword) > 1:
print "You can't have 2 weapons equipped!"
break
if len(bag_chest) > 1:
print "You can't have 2 chestplates equipped!"
break
if len(bag_gloves) > 1:
print "You can't have 4 gloves equipped!"
break
if len(bag_helmet) > 1:
print "You can't have 2 helmets equipped!"
break
if item == "iron sword" and "iron sword" in bag:
print "\nYou equip the Iron Sword"
bag.remove("iron sword")
bag_sword.append("iron sword")
break
因为你在添加第二件武器之前正在测试。一旦你在包中添加了一把剑,你的条件都不正确。你的len(bag\u剑)
正好是1,(因此如果len(bag\u剑)>1:
将不匹配),而包中的铁剑是假的
因为您的if
语句都不匹配,所以不会执行break
,而while
循环将永远继续
您不想测试您的包中是否有多个物品。测试该包中是否有任何物品:
def equip(item):
x = True
while x == True:
if len(bag_sword) > 1:
print "You can't have 2 weapons equipped!"
break
if len(bag_chest) > 1:
print "You can't have 2 chestplates equipped!"
break
if len(bag_gloves) > 1:
print "You can't have 4 gloves equipped!"
break
if len(bag_helmet) > 1:
print "You can't have 2 helmets equipped!"
break
if item == "iron sword" and "iron sword" in bag:
print "\nYou equip the Iron Sword"
bag.remove("iron sword")
bag_sword.append("iron sword")
break
因为您在添加第二件武器之前正在进行测试。整个代码都是胡说八道。
首先,您处理的是列表,而不是字典
Python中没有“break”关键字。在Python中,存在if、elif和else关键字
item是在函数中传递的参数
关键字len(['item','two'])
作为结果集2给出,
列表只有值,元素按列表中的数字获取
例如:
mylist=['hello','world']
打印mylist[0]结果为“hello”
让自己更加熟悉内置类型:
以下是一些示例代码:
if bag_sword: # true if not empty
print "You can't have 2 weapons equipped!"
break
整个代码都是胡说八道。
首先,您处理的是列表,而不是字典
Python中没有“break”关键字。在Python中,存在if、elif和else关键字
item是在函数中传递的参数
关键字len(['item','two'])
作为结果集2给出,
列表只有值,元素按列表中的数字获取
例如:
mylist=['hello','world']
打印mylist[0]结果为“hello”
让自己更加熟悉内置类型:
以下是一些示例代码:
if bag_sword: # true if not empty
print "You can't have 2 weapons equipped!"
break
我忽略了一段时间,因为我不知道它是什么,但我一直在阅读更多关于Python的内容,这非常有帮助,谢谢。我忽略了一段时间,因为我不知道它是什么,但我一直在阅读更多关于Python的内容,这非常有帮助,谢谢。