随机范围依赖于变量-Python
我试图为生成到画布上的对象创建随机单词(画布是用户屏幕的大小,因此范围不断变化。) 这是代码行resX,它是存储用户屏幕分辨率大小的变量,12.5是生成的形状的半径 我得到的错误是resX部分不是整数随机范围依赖于变量-Python,python,random,floating-point,Python,Random,Floating Point,我试图为生成到画布上的对象创建随机单词(画布是用户屏幕的大小,因此范围不断变化。) 这是代码行resX,它是存储用户屏幕分辨率大小的变量,12.5是生成的形状的半径 我得到的错误是resX部分不是整数 ValueError:randrange()的非整数arg 1 我不确定是否有办法在随机行中使用变量?您需要random.uniform来获取特定范围内的随机浮点数: >>> resX = 100 >>> random.uniform(12.5, int(res
ValueError:randrange()的非整数arg 1
我不确定是否有办法在随机行中使用变量?您需要
random.uniform
来获取特定范围内的随机浮点数:
>>> resX = 100
>>> random.uniform(12.5, int(resX-12.5))
55.797969682558296
请注意,由于您可以将一个浮点数作为范围传递到uniform()
中,因此您可能不需要调用resX-12.5
上的int
函数,但由于此更改可能会影响结果,这取决于您想要什么。否则,您可以按如下方式执行:
>>> random.uniform(12.5, resX-12.5)
66.1303523838728
int
现在可能是unnecessary@Eric是的,但是因为它可能会影响结果,我也会提到。好的,所以当使用变量时,范围不是正确的吗?thanks@StanleyRoyChilton不,这正是您传递给randint()
函数的内容。@StanleyRoyChilton:根据您对原始错误的解释,您似乎认为“整数”和“变量”是不相交的集合。这是错误的uniform
适用于float
s,randrange
适用于int
s。您想要随机浮点还是随机int?随机int导致其用于共字,不能使用float表示“导致其用于共字,不能使用float表示该”-该参数不成立。Lat/lon是坐标系,我们使用浮点数。GPU缓冲区包含坐标,我们使用浮点数。你确定你不想要花车吗?请注意,接受的答案会给您浮动。
>>> random.uniform(12.5, resX-12.5)
66.1303523838728