Python文本游戏开发:display_items函数出现语法错误求助
解决Python函数定义的语法错误问题
你的语法错误出在两个核心点:
- Python要求函数定义的代码块必须缩进,不能和
def语句挤在同一行 - 函数调用语句不能写在函数定义的同一行,必须放在函数定义完成之后
另外,全局变量的写法拆分到每行能大幅提升可读性。下面是修正后的完整代码:
# 全局变量拆分到每行,更易维护 yes_no = ["yes", "no"] directions = ["left", "right", "forward", "backwards"] inventory = {'Water bottle': 1, 'Bandage': 2} player_health = 5 # 正确的函数定义:def后换行,函数体缩进4个空格 def display_items(): print("You currently have " + str(inventory)) # 单独调用函数,放在函数定义之外 display_items()
如果想让物品展示更清晰直观,可以优化函数逻辑,遍历字典输出每个物品和对应数量:
def display_items(): print("You currently have:") for item, count in inventory.items(): print(f"- {item}: {count}") display_items()
内容的提问来源于stack exchange,提问作者Jayne Berry
相关产品推荐
相关产品推荐

