Python MUD游戏角色创建功能代码修正与优化求助
修正后的MUD角色创建代码
原代码存在几个关键问题,以下是修正后的可运行版本:
def select_character(): character = "" # 统一判断逻辑,忽略大小写避免输入错误,同时修正选项大小写不一致问题 while character.lower() not in ["red pirate", "dreed prince"]: character = input("请选择角色:(Red pirate 或 Dreed prince):") return character def check_character(chosen_character): # 字符串比较要加引号,同时用elif避免逻辑错误 if chosen_character == "Red pirate": print("该角色擅长近距离战斗,拥有125生命值和50护甲!") elif chosen_character == "Dreed prince": print("该角色擅长远距离战斗,拥有100生命值和25护甲!") else: print("未选择有效角色,请重新选择!") # 先获取角色选择结果,再传入检查函数 selected = select_character() check_character(selected)
主要改动说明:
- 函数命名改为下划线分隔的规范写法(
select_character/check_character),符合Python编码习惯 - 修复字符串比较未加引号的错误:原代码中
Red pirate和Dreed prince未加引号,被当作未定义变量 - 修正循环判断的大小写问题:加入
lower()方法,避免玩家输入大小写不一致导致循环无法退出 - 调整条件判断逻辑:将第二个
if改为elif,避免选择第一个角色时触发else的错误提示 - 修复函数调用错误:原代码先调用
checkcharacter()但未传参,改为先获取角色选择结果再传入检查函数 - 移除了第一个
print语句末尾多余的逗号
内容的提问来源于stack exchange,提问作者blackviper.21
相关产品推荐
相关产品推荐

