Python作业DND掷骰程序Roll值与怪物力量比较功能异常求助
DND骰子对战模块代码问题修复
原代码错误点
- 导入
random模块的位置放在了if __name__ == '__main__'判断块内部,块外代码无法调用random相关方法,规范上模块导入应放在代码开头 - 调用
input()获取用户输入后没有接收返回值,直接将monster_strength赋值为input函数本身而非用户输入的内容,且用户输入默认是字符串类型,需要转换为整数才能和掷骰数值做大小比较 random.randrange(20)+1行末尾多了冗余的反引号,存在语法错误
修复后完整代码
import random if __name__ == '__main__': # 获取用户输入的怪物力量并转换为整数 monster_strength = int(input("请输入怪物力量数值:")) # 掷1D20骰子 rolled_num = random.randrange(20) + 1 print("你掷出了:", rolled_num) # 结果比较 if rolled_num > monster_strength: print("你赢了") else: print("你失败了")
内容的提问来源于stack exchange,提问作者reagent -52
相关产品推荐
相关产品推荐

