编写一个方法,用于随机生成整数,直到连续两次生成相同的数为止,返回生成随机数的次数
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())
# -*- 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使用示例
希望能帮助你