Python课程项目吃浆果分支代码运行不符合预期如何修复
Python代码问题修复方案
问题原因
你代码中的判断逻辑存在类型不匹配问题:你已经将inventory定义为列表类型,但原代码直接对整个列表和字符串'berry'做相等判断,不同数据类型的对象恒不相等,因此无论列表中是否存在'berry'元素,inventory == 'berry'的返回值永远是False,所以永远会触发else分支的提示。
修复方法
将原判断条件修改为检查'berry'元素是否存在于inventory列表中即可,修改后的完整代码如下:
elif "eat berry" in command: if 'berry' in inventory: typingPrint("You eat a berry") Penguin.health = Penguin.health + 10 print("Your health is now", Penguin.health) userInput() else: typingPrint("sorry you can't eat that right now.") userInput()
可选优化
如果你的业务逻辑要求吃完浆果后需要将其从背包中移除,避免重复食用,可以在加血逻辑后新增一行代码:inventory.remove('berry')
内容的提问来源于stack exchange,提问作者Student2100
相关产品推荐
相关产品推荐

