使用python怎樣產生10個不同的隨機數

怎樣產生10個不同的隨機數

python產生10個不同隨機數的方法:首先創建一個result的結果空列表;然後循環直到result的長度超過10退出循環,循環裡面隨機生成一個1-10之間的數;最後查看生成的num隨機數是否在result列表裡,不在就添加進去。

1、第一種

range(1,10)生成一個1-10之間的列表,接著利用random的sample方法。從序列裡面選出10個不同的數字。

2、第二種

創建一個result的結果空列表,然後循環直到result的長度超過10退出循環,循環裡面隨機生成一個1-10之間的數,先查看生成的num隨機數是否在result列表裡,不在就添加進去。

3、第三種

先利用range()方法生成一個1-10的序列,然後利用shuffle方法將temp有序列表達打亂成無序的列表,接著利用列表生成式直接循環遍歷到一個新列表就可以瞭。

隨機產生10個0~100之間的隨機數並求和

實現代碼

import random
list=[]  #存儲數據范圍的列表
for i in range(0,100):
    list.append(i) #初始化,數據范圍:0-100
for j in range(0,10):# 遍歷10次
    print(random.choice(list))# 每次隨機選擇

輸出結果:

87
40
48
87
3
8
12
79
62
29

代碼優化

產生n個w范圍之間的隨機數,並求和

import random

random_number = []  # 存儲產生的隨機數
def random_generate(n,w):  #n為產生的隨機數的數量,w為隨機數的范圍
    list=[]  #存儲數據范圍的列表

    for i in range(0,w):
        list.append(i) #初始化,數據范圍:0-w
    for j in range(1,n+1):# 遍歷n次
        tem=random.choice(list) #臨時變量,否則每次產生的隨機數不一樣
        random_number.append(tem)


        #print("第",j,"個產生的隨機數為",tem)# 每次隨機選擇
        print("{0:^3}-->{1:^5}".format(j,tem))

def sum():
    total=0
    for z in random_number:
        total=z+total
    print("隨機數求和:",total)
    #print(total)


if __name__ == "__main__":
    print("隨機數:")
    random_generate(10,100)
    sum()

輸出:

隨機數:
 1 –> 66  
 2 –> 17  
 3 –> 45  
 4 –> 58  
 5 –> 23  
 6 –> 86  
 7 –> 37  
 8 –> 84  
 9 –> 37  
10 –> 27  
隨機數求和: 480

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: