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)
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)