首頁 > 軟體

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

2022-07-18 14:02:51

怎樣產生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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com