如何使 python random.random() 包含负数

How to make python random.random() incorporate negatives

我正在尝试生成一对介于 -1 和 1 之间的随机数。

我可以让它变成负数或正数...但不能为 x 和 y 生成一个随机数,它可能会变成负数和正数。下面是我所拥有的(这是一个来自网站的飞镖模拟游戏)。 randx 和 randy 是随机数生成恰好被用作坐标的地方。

import turtle
import math
import random

def main():

    fred = turtle.Turtle()
    fred.up()

    wn = turtle.Screen()
    wn.setworldcoordinates(-1,-1,1,1)

    numdarts = 10
    for i in range(numdarts):
        randx = random.random()
        randy = random.random()

        x = randx
        y = randy

        fred.goto(x,y)
        fred.stamp()

    wn.exitonclick()

main()

我假设您需要一个浮点数。在这种情况下,使用

x = random.uniform(-1,1)

您可以使用 random.random() 生成从 0 到 2 的随机数,然后将所有结果平移 1,到 -1 to 1

因为 random.random() 会给你一个介于 [0.0-1.0) 之间的浮点数,你可以通过乘以 2 将该范围扩展到 [0.0-2.0)。然后你可以将该范围移动到 [-1.0- 1.0) 减去 1:

import random

randx = random.random()*2.0 - 1.0