zoukankan      html  css  js  c++  java
  • 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
    }
  • 相关阅读:
    变量 常量 Python变量内存管理 赋值方式 注释
    leetcode 两数之和 整数反转 回文数 罗马数字转整数
    计算机基础之编程
    列表,集合,元组,字典
    小练习
    Ansi 与 Unicode 字符串类型的互相转换
    UVALive
    UVA
    UVA 10651 Pebble Solitaire 状态压缩dp
    UVA 825 Walkiing on the safe side
  • 原文地址:https://www.cnblogs.com/huguodong/p/5892424.html
Copyright © 2011-2022 走看看