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

自定义面数骰子Python脚本输入整数时崩溃,该如何修复?

问题修复说明

崩溃原因

  • input() 函数返回值为字符串类型,你未做类型转换直接将其传入random.randint()作为第二个参数,而该方法要求两个入参均为整数,类型不匹配直接触发运行错误。
  • 你后续修改的if is_non_empty is false:写法不符合Python语法规范,Python中布尔假值为大写的False,小写形式会被识别为未定义变量,触发变量未定义错误。
  • 原代码导入的keyboard库全程未被使用,属于冗余导入,可以直接删除无需额外安装。

可运行优化代码

import random
import time

sides_select = input("请输入骰子的面数,留空则默认为6:")
# 处理空输入
if not sides_select:
    sides = 6
else:
    # 增加异常捕获处理非法输入场景
    try:
        sides = int(sides_select)
        if sides < 2:
            print("骰子面数不能小于2,已自动设置为6面")
            sides = 6
    except ValueError:
        print("你输入的不是合法数字,已自动设置为6面")
        sides = 6

time.sleep(0.5)

while True: 
    nmb = random.randint(1, sides)
    print(f"骰子掷出了:{nmb}") 
    input('按回车键再次掷骰子')
    time.sleep(random.uniform(0.2, 0.8))

内容的提问来源于stack exchange,提问作者rOxANDtOl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:24:02