datetime函數和random.seed()函數的應用

一,datetimepython

在python中datetime是一個庫是一個模塊也是一個函數,做用不少,這裏面只對其作簡單的最經常使用的講解。算法

首先返回系統時間dom

import datetime函數

nowTime=datetime.datetime.now()spa

print nowTimeit

輸出結果是: 2016-11-04 14:27:09.538000import

返回當天日期隨機數

Today=datetime.date.today()date

print Todayim

輸出的結果是:2016-11-04

時間間隔(這是一個time模塊頗有用的)

import time

def sleeptime(hour,min,sec):

     return hour*3600+min*60+sec;

sleep_time=sleeptime(0,0,5);

while 1==1:

    time.sleep(sleep_time);

    print "每隔5秒顯示一次"

輸出結果是:

每隔5秒顯示一次

每隔5秒顯示一次

每隔5秒顯示一次

 

二,random.seed()

random.seed()是隨機數種子,也就是爲隨機數提供算法,徹底相同的種子產生的隨機數列是相同的,

因此若是想產生不一樣的隨機數就須要用當前時間做爲種子

import random

random.seed(0)

print "Random number with seed 0 : ", random.random()

輸出結果:Random number with seed 0 : 0.844421851525

 

random.seed(0)

print "Random number with seed 0 : ", random.random()

輸出結果:Random number with seed 0 : 0.844421851525

random.seed(0)

print "Random number with seed 0 : ", random.random()

輸出結果:Random number with seed 0 : 0.844421851525

 

 

如下爲同時運行三個相同的隨機種子

random.seed(0)

print "Random number with seed 0 : ", random.random()

random.seed(0)

print "Random number with seed 0 : ", random.random()

random.seed(0)

print "Random number with seed 0 : ", random.random()

輸出結果:是相同的

Random number with seed 0 : 0.844421851525

Random number with seed 0 : 0.844421851525

Random number with seed 0 : 0.844421851525

 

如下爲同時運行三個不一樣的隨機種子

random.seed(0)

print "Random number with seed 1 : ", random.random()

random.seed(1)

print "Random number with seed 2 : ", random.random()

random.seed(2)

print "Random number with seed 2 : ", random.random()

輸出結果:是不一樣的

Random number with seed 0 : 0.844421851525
Random number with seed 1 : 0.134364244112
Random number with seed 2 : 0.956034271889

 

因此若是想產生不一樣的隨機數就須要用當前時間做爲種子

即:

random.seed(datetime.datetime.now())

print "Random number with當前時間: ", random.random()

輸出結果:Random number with當前時間: 0.219216629629

random.seed(datetime.datetime.now())

print "Random number with當前時間: ", random.random()

輸出結果:Random number with當前時間: 0.698622464392

random.seed(datetime.datetime.now())

print "Random number with當前時間: ", random.random()

輸出結果:Random number with當前時間: 0.909038313683

 

random.seed(datetime.datetime.now())

print "Random number with當前時間: ", random.random()

random.seed(datetime.datetime.now())

print "Random number with當前時間: ", random.random()

random.seed(datetime.datetime.now())

print "Random number with當前時間: ", random.random()

輸出結果:結果相同

Random number with當前時間: 0.884565419178
Random number with當前時間: 0.884565419178
Random number with當前時間: 0.884565419178

 

總結:能夠看出random.seed(datetime.datetime.now())每次輸出的結果都不相同

只有在同時輸出的結果纔會相同,由於「同時」代表時間點是相同的

相關文章
相關標籤/搜索