我想在min_time和m_time之间生成一个小数点为1的随机数,如0.3
现在我有一个非常奇特的解决方案
m_time = 0.5
min_time = 0.2
float(randint(int(min_time * 10), int(m_time * 10))) / 10
Run Code Online (Sandbox Code Playgroud)
它有效,但我想知道是否有更好的解决方案?
我认为首选方法是在和之间统一选择浮点数然后使用内置的舍入函数(到第一个小数位):min_timemax_time
round(random.uniform(min_time, max_time), 1)
Run Code Online (Sandbox Code Playgroud)
import decimal
import random
Run Code Online (Sandbox Code Playgroud)
- 我和j属于你的限制,如2和3
decimal.Decimal('%d.%d' % (random.randint(0,i),random.randint(0,j)))
Run Code Online (Sandbox Code Playgroud)