4.5.2 Random库的应用
2025年09月21日
4.5.2 Random库的应用
【案例4-16】 随机验证码。
请编写程序,生成10个一组的随机验证码。具体要求如下。
①使用Random库,采用10作为随机数种子。
②验证码的字符由下列字符串中的字符组成:abcdefghijklmnopqrstuvwxyzABCDEFGH IJKLMNOPQRSTUVWXYZ1234567890。
③每个验证码的长度都固定为10个字符。
④程序运行每次产生10个验证码,每个验证码一行。
⑤每次产生的10个验证码首字符不能一样,且不能以数字开头。
⑥按行输出10个验证码。
案例分析:
将组成验证码的字符作为字符串赋给变量,通过字符切片的方式从中获取。虽然知道一组验证码有10个,但是每次生成的验证码并不一定符合要求,所以不能用遍历循环,而是使用不定循环来控制验证码生成的数量。
每个验证码都由10个符号组成,且相互间的首字符不能相同,也不能是数字。解决方法是用一个序列变量来存储首字符,初始值为10个数字。
验证码由10个符号组成,循环10次实现。每次循环都从字符串中随机选取一个符号。
每次生成一个验证码,先将首字符与变量中的值进行匹配,如果已存在,则不作处理,如果不存在,则生成的验证码是有效的,将该验证码的首字符加入存首字符的变量中,并将这个验证码输出。
运行结果: