You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:15:03