如何获取一个随机值,该值不能等于另一个值?

13 浏览
0 Comments

如何获取一个随机值,该值不能等于另一个值?

我只需要secondrandom变量不等于firstrandom变量,但我不知道该怎么做。

0
0 Comments

问题的出现原因是需要获取一个随机值,但是要求这个随机值不能与另一个值相等。解决方法如下:

1. 第一种方法是在这种情况下,由于两个变量只能是1或2,可以使用secondrandom = 1 + (firstrandom % 2)

2. 第二种方法是将第二个randint放在一个循环中,只有当这个值与firstrandom不相等时才退出循环。

3. 第三种方法是先枚举有效值,然后从允许的值中选择一个random.sample

以上是获取一个随机值并确保不与另一个值相等的解决方法。

0
0 Comments

问题的出现原因:需要获取一个随机值,但是这个随机值不能与另一个值相等。

解决方法:可以尝试使用下面的函数,它返回一对不相等的随机整数。

import random
def randomPair(start, stop):
    n1 = random.randint(start, stop)
    n2 = random.randint(start, stop)
    if start != stop:
        while n1 == n2:
            n2 = random.randint(start, stop) 
    return n1, n2

这个函数使用了`random.randint`来生成两个随机整数`n1`和`n2`。如果`start`和`stop`不相等,那么在生成`n2`时,使用一个循环来确保`n1`和`n2`不相等。

这种方法相对比较低效,与使用`random.sample`的方法相比较起来效率较低。

0