生成0.XXX格式随机数用于time.sleep()时触发ValueError的问题求助
解决time.sleep()使用随机小数的报错问题
你的错误根源有两个:
- 把带小数点的字符串
'0.198'转成int类型,int()只能解析纯整数格式的字符串,所以触发ValueError time.sleep()需要的是浮点数(可以带小数的数值),不是整数也不是字符串
给你两种简单的解决方法:
方法一:直接生成目标浮点数(推荐)
跳过字符串拼接的步骤,直接通过整数运算得到0.111-0.333之间的随机浮点数:
import random import time sleep_time = random.randint(111, 333) / 1000 time.sleep(sleep_time)
方法二:修正字符串转数值的类型
如果一定要保留字符串拼接的写法,把转int改成转float:
import random import time s = f"0.{random.randint(111, 333)}" sleep_time = float(s) # 转成浮点数而非整数 time.sleep(sleep_time)
内容的提问来源于stack exchange,提问作者bob wick
相关产品推荐
相关产品推荐

