编写一个方法,用于随机生成整数,直到连续两次生成相同的数为止,返回生成随机数的次数

编写一个方法,用于随机生成整数,直到连续两次生成相同的数为止,返回生成随机数的次数


import random

def get_rand():
    index = 1
    nt = 0
    while 1:
        t = nt
        nt = random.randint(0, 10)
        print('当前随机数,', nt)
        if t == nt:
            return index
        index += 1
print(get_rand())

img

# -*- utf8 -*-
import random
def get_two_random(a=0,b=100):
    """
    :param a: 生成随机数的最小值
    :param b: 生成随机数的最大值
    :return:  两次生成一样的随机数
    """
    while True:
        tmp= random.randint(a,b)
        if tmp == random.randint(a,b):
            return tmp
# 调用函数
print(get_two_random())

如果随机数的范围设置大,一般方法会很慢。使用Java的BitSet可以在毫秒级解决。请参考BitSet使用示例

https://gitee.com/pinweiwan/learnjava/blob/main/core-java/core-java-collection/src/test/java/io/github/kavahub/learnjava/BitSetManualTest.java

希望能帮助你