python生成各種隨機小數,總有一種滿足你的需求


有時需要自己模擬生成數據,Python是最合適的工具了。下面是python中的random模塊,它用於隨機數生成的例子。

(1) 隨機小數

import random
print(random.random())   #隨機大於0 且小於1 之間的小數
#結果
#0.6897784315368002
print(random.uniform(0,9)) #隨機一個大於0小於9的小數
#結果
#1.2981140261424073

(2) 隨機整數

import random
print(random.randint(0,10)) #隨機一個大於等於0且小於等於10的整數
#結果
#8
print(random.randrange(1,10,2)) #隨機一個大於等於1且小於等於10之間的奇數,其中2表示遞增基數
#結果
#9
a = random.randrange(9, 100, 10)#從9、19、29、39、……、99之間,隨機選取一個實數
print(a)
#結果
#69

(3) 隨機返回列表中的元素

import random
print(random.choice(['123', 2.68, 52, [1, 2]])) #隨機返回參數列表中任意一個元素
#結果
#[1, 2]
print(random.sample(['123','abc',52,[1,2]],2)) #隨機返回參數列表中任意兩個元素,參數2指定返回的數量
#結果
#['123', 52]
a = range(3,100,2)  #從列表里面隨機選取9個數字
b = random.sample(a, 9)
print(b)
#結果
#[11, 33, 15, 57, 37, 73, 59, 9, 55]

(4)打亂列表順序

import random
list = [1,2,5,7,9,10]
random.shuffle(list)
print(list)
#結果
#[2, 1, 10, 5, 9, 7]

(5)驗證碼生成器

import random
def random_num():
    code = ''
    for i in range(4):
        ran1 = random.randint(0, 9)
        ran2 = chr(random.randint(65, 90))
        add = random.choice([ran1, chr(random.randint(65, 90))])
        code = ''.join([code, str(add)])
    return code
rand_n = random_num()
print(rand_n)
#結果
#U9AQ

(5) 寫入文件

import random
count = 10
#count = 100000000
f1 = open('D:\\svmdata.txt', 'w+')
for k in range(0, count):
    print(k)
    num1 = random.randint(0, 1)
    num2 = random.choice([0, random.uniform(2, 3)])
    num3 = random.choice([0, random.uniform(2, 3)])
    data = str(num1)+' '+str(num2)+' '+str(num3)
    f1.write(data + '\n')

# print(random.choice([ 0, random.uniform(2, 3) ]))
# print(random.randint(0, 1))
# print(random.uniform(2, 3))

結果:

打開svmdata.txt:

1 2.047277419041446 2.0363010600552003
1 0 2.222463137076936
0 2.2634002225313807 0
1 2.507887676591875 2.649486851327983
0 0 2.351092197191832
1 2.129038547588649 0
1 2.542448724199632 2.7332599439968863
1 0 2.0074334074878664
0 0 0
1 0 2.7891750105778153


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM