python在指定范围内产生n个不重复的随机数的两种办法
一、常规的方法自己定义
#用于在一个整数范围内产生n个随机数,注意范围内的整数个数要小于所需的随机数的个数
#第一个参数表示开始的范围,第二个参数表示结束的范围,第三个表示产生随机数的个数
#最后返回的是一个列表
import random
class CreateRandomPage:
def __init__(self, begin, end, needcount):
self.begin = begin
self.end = end
self.needcount = needcount
self.resultlist = []
self.count = 0
def createrandompage(self):
tempInt = random.randint(self.begin, self.end)
if(self.count < self.needcount):
if(tempInt not in self.resultlist):
self.resultlist.append(tempInt) #将长生的随机数追加到列表中
self.count += 1
return self.createrandompage() #在此用递归的思想
return self.resultlist
亲测可行:
二、利用现成模块
resultlist=random.sample(range(begin, end),needcount)
print(resultlist)