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