欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

perl中srand()與time的函數(shù)使用方法介紹

 更新時(shí)間:2013年03月20日 22:51:30   作者:  
這篇文章主要介紹了perl中srand與time函數(shù)的使用,需要的朋友可以參考下

在perl中srand()提供供rand()使用的隨機(jī)數(shù)種子,rand()產(chǎn)生隨機(jī)數(shù)生成器。
如果在第一次調(diào)用rand()之前沒(méi)有調(diào)用srand(),那么系統(tǒng)會(huì)為你自動(dòng)調(diào)用srand()。
使用同種子相同的數(shù)調(diào)用srand()會(huì)導(dǎo)致相同的隨機(jī)數(shù)序列被生成。

舉例如下:

復(fù)制代碼 代碼如下:

srand(26); 
$number1=rand(100); 
print "$number1\n"; 
srand(26); 
$number2=rand(100); 
print "$number2\n";

得到的結(jié)果如下:
F:\>perl\a.pl 
0.3753662109375 
0.3753662109375

若果我們把第二個(gè)srand(26)去掉,如下:

復(fù)制代碼 代碼如下:

srand(26); 
$number1=rand(100); 
print "$number1\n"; 
$number2=rand(100); 
print "$number2\n";

得到的結(jié)果如下:
F:\>perl\a.pl 
0.3753662109375 
76.397705078125 

F:\>

這樣產(chǎn)生的兩個(gè)數(shù)值就不一樣了。

附帶一個(gè)小程序,利用了一個(gè)子程序,隨機(jī)輸出了20個(gè)隨機(jī)數(shù)值,在這里利用了,srand(time|$$),也就是每次都利給srand賦予新的種子,這樣就保證得到的隨機(jī)數(shù)就不一樣,同樣里面time函數(shù)獲取當(dāng)前的時(shí)間,因?yàn)闀r(shí)間是不同的,所以種子就不同,我們得到的隨機(jī)數(shù)就不同。

復(fù)制代碼 代碼如下:

#!/usr/bin/perl
my $dna='AACCGTTAATGGGCATCGATGCTATGCGAGCT'; 
srand(time|$$); 
for (my $i=0;$i<20;++$i) 

    print randomposition($dna), " "; 

print "\n"; 
exit; 

sub randomposition 

   my($string)=@_; 
   return int rand length $string; 
}

我們就time的各個(gè)函數(shù)做出說(shuō)明:
print "time()=".time()."\n";#從1970年到現(xiàn)在的秒數(shù) 
print "localtime()=".localtime()."\n";#當(dāng)前時(shí)間 
print "gmtime()=".gmtime()."\n";#標(biāo)準(zhǔn)格林威治時(shí)間

輸出結(jié)果如下:
F:\>perl\a.pl 
time()=1350309421 
localtime()=Mon Oct 15 21:57:01 2012 
gmtime()=Mon Oct 15 13:57:01 2012 

F:\>

相關(guān)文章

最新評(píng)論