在python里面怎么让一个随机数不会重复出现?
python 生成不重复的随机数的代码
用的是筛选法,网上有解释,简单的说 就是先随机生成一串数字,之后用下标来判断这些数字有没有重复,重复的就筛去
代码如下:
import random
print 'N must >K else error'
n=int(raw_input("n="))
k=int(raw_input("k="))
result=[]
x=range(n)
for i in range(k):
t=random.randint(i,n-1)
temp=x[i]
x[i]=x[t]
x[t]=temp
result.append(x[i])
print result
raw_input('Inpuy AnyKey to exit')
这是用算法生成的 其实python有方法的 random.sample(list, n)即是从list中随机选取n个不同的元素
代码如下:
import random for i in range(4): print random.sample(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 7)
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有