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

Python使用randint()函数设置起始值为1000报错问题咨询

错误产生原因
  • Python 内置random.randint(start, end)函数要求输入的两个参数必须满足start ≤ end,如果起始值大于结束值,会直接抛出ValueError异常。
  • 你代码中的结束值y由输入字符串的长度决定,计算公式化简后为y = 3 * len(输入字符串) + 144,只有当输入的字符串长度≥286时,y才会≥1000。正常输入下y远小于你设置的起始值1000,自然触发参数不合法的错误。
  • 额外注意:你代码中用到的tm(对应time模块)、rd(对应random模块)、clear()、clean()都需要提前导入或定义,否则也会触发名称错误。
可行解决方案

可根据你的需求选择任一方案修复:

  1. 动态适配randint的参数范围,不管y值大小都不会触发参数错误:
# 自动取两个值的最小值作为起始,最大值作为结束
chez = rd.randint(min(1000, y), max(1000, y))
  1. 增加输入校验,要求用户输入足够长的内容,保证y≥1000:
while True:
    a = input("Type a sentence: ")
    y = int(len(a)*3 + 150 - 12/2)
    if y >= 1000:
        break
    print("输入内容过短,请输入至少286个字符的内容")
  1. 调整y的计算公式,抬高最低值保证y始终≥1000,比如将公式中的常数项150替换为1006,哪怕输入空字符串y也能达到1000。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:15:00