如何获取一个随机值,该值不能等于另一个值?
问题的出现原因是需要获取一个随机值,但是要求这个随机值不能与另一个值相等。解决方法如下:
1. 第一种方法是在这种情况下,由于两个变量只能是1或2,可以使用secondrandom = 1 + (firstrandom % 2)
。
2. 第二种方法是将第二个randint
放在一个循环中,只有当这个值与firstrandom
不相等时才退出循环。
3. 第三种方法是先枚举有效值,然后从允许的值中选择一个random.sample
。
以上是获取一个随机值并确保不与另一个值相等的解决方法。
问题的出现原因:需要获取一个随机值,但是这个随机值不能与另一个值相等。
解决方法:可以尝试使用下面的函数,它返回一对不相等的随机整数。
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`的方法相比较起来效率较低。