python - Randrange 依赖于变量 - Python

标签 python random floating-point

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

random.randrange(12.5, int(resX-12.5))

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

我收到的错误是 resX 部分不是整数 ValueError:randrange() 的非整数参数 1

我不确定是否有办法在随机行中使用变量?

最佳答案

您需要random.uniform来获取特定范围内的随机 float :

>>> resX = 100
>>> random.uniform(12.5, int(resX-12.5))
55.797969682558296

请注意,由于您可以将 float 作为范围传递到 uniform() 中,因此您可能不需要在 resX- 上调用 int 函数12.5 但由于此更改可能会影响结果,因此这取决于您想要的。否则您可以按照以下方式进行操作:

>>> random.uniform(12.5, resX-12.5)
66.1303523838728

关于python - Randrange 依赖于变量 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447532/

相关文章:

python - 如何使用 Flask 提供静态 SVG 文件?

python - 过滤字典中常见的子字典键

c++ - 在具有特定均值的 2 个数字之间获取一组随机数。

c++ - C++如何输出两组不同的随机数?

c++ - 使用深度缓冲区对 2D Sprite 进行分层

c++ - NAN 传播和 IEEE 754 标准

python - 在 MongoEngine 中增加一个 IntField

ios - iOS上是否有加密安全的替代arc4random的替代方案?

c - 如何在 C 中将浮点值限制为小数点后两位?

python - 尝试在pycharm中导入flask管理模块