TCL語言筆記:TCL練習


一、關於隨機數的練習

1.隨機生成一個最大值到最小值之間的整數

 proc random {min max} { return [expr round(($max-$min)*rand()+$min)] }

2.生成num個min到max之間的不重復的隨機整數

proc randomUnique {min max num} {
array set arr {}

#如果要求生成的數量超過max和min相減的個數+1
if {$num>[expr $max-$min+1]} {
return ""
}

#當生成的隨機數量沒有達到要求的數量,調用生成隨機整數的函數
while {[array size arr]<$num} {
set x [random $min $max]
set arr($x) ""
}
return [array names arr]
}

3.隨機的小寫字母

proc randLow {} { return [format %c [random 97 122]] }

4.隨機的大寫字母

proc randHigh {} { return [format %c [random 65 90]] }

5.隨機生成一個列表中的內容 

proc randList {lst} { set id [random 0 [expr [llength $lst]-1]] return [lindex $lst $id] }

6.生成一個隨機的小寫或者大寫字母

proc randLH {} { return [rand[randList {Low High}]] }

7.生成一個隨機的大寫、小寫字母或數字

proc randLHN {} { return [rand[randList {Low High Num}]] }

8.生成一個由小寫、大寫、數字構成的字符串,長度為在minLen和maxLen之間的隨機值

proc randStrLHN {minLen maxLen} { set len [random $minLen $maxLen] set str ""
    for {set i 0} {$i<$len} {incr i} { append str [randLHN] } return $str }

 


免責聲明!

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



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