我试图为在画布上产生的对象制作随机合作(画布是用户画面的大小,因此范围不断变化。)
random.randrange(12.5, int(resX-12.5))
这是代码行resX,它是存储用户屏幕分辨率大小的变量,12.5是生成的形状的半径。
我得到的错误是resX部分不是整数
ValueError: non-integer arg 1 for randrange()
我不确定是否可以在随机行中使用变量?
答案 0 :(得分:2)
您需要random.uniform
才能获得特定范围之间的随机浮点数:
>>> resX = 100
>>> random.uniform(12.5, int(resX-12.5))
55.797969682558296
请注意,由于您可以将浮点数作为范围传递到uniform()
,因此您可能不需要调用int
上的resX-12.5
函数,但由于此更改可能会影响结果,这取决于你想要什么。否则你可以这样做:
>>> random.uniform(12.5, resX-12.5)
66.1303523838728