Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
随机范围依赖于变量-Python_Python_Random_Floating Point - Fatal编程技术网

随机范围依赖于变量-Python

随机范围依赖于变量-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

我试图为生成到画布上的对象创建随机单词(画布是用户屏幕的大小,因此范围不断变化。)

这是代码行resX,它是存储用户屏幕分辨率大小的变量,12.5是生成的形状的半径

我得到的错误是resX部分不是整数
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