Python常用模块-随机数模块(random)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.常用方法举例
1 #!/usr/bin/env python 2 #_*_conding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 6 import random 7 from string import ascii_lowercase 8 9 10 import random 11 12 #返回1-5之间的整数,即取值[1,5]的int类型。 13 print(random.randint(1,5)) 14 15 #从非空序列的元素中随机挑选一个元素 16 print(random.choice(range(10))) 17 18 #取值[1,3)的int类型。 19 print(random.randrange(1,3)) 20 21 #从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 22 print(random.randrange(1,9,2)) 23 24 num_list = [1,2,3,4,5] 25 print(num_list) 26 27 #就地打乱列表元素 28 random.shuffle(num_list) 29 print(num_list) 30 31 #从样本空间或总体(序列或者集合类型)中随机取出k个不同的元素,返回一个新的列表 32 print(random.sample(['a', 'b', 'c', 'd','e','f','g'], 3)) 33 print(random.sample(['a', 'a'], 2)) 34 35 #和sample功能类似,只不过choices方法可以随机选择1-10个不同的元素(返回的个数在咱们的规定范围内) 36 print("".join(random.choices(ascii_lowercase,k=random.randint(1,10)))) 37 38 #取值(0,1)float类型。 39 print(random.random()) 40 41 names = ["yinzhengjie","尹正杰","yzj","北京","西安"] 42 43 #从给定的列表中随机取一个数字。 44 print(random.choice(names)) 45 46 # 从给定的列表中随机取3个元素。 47 print(random.sample(names,3)) 48 49 #取值(1,3)的float类型。 50 print(random.uniform(1,3))
3 4 2 7 [1, 2, 3, 4, 5] [3, 2, 5, 4, 1] ['c', 'g', 'f'] ['a', 'a'] ajjwuyuftf 0.0900107743331563 北京 ['尹正杰', 'yinzhengjie', '北京'] 1.695671638754336
二.验证码案例
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ 5 #EMAIL:y1053419035@qq.com 6 7 import random 8 9 def ValdateCode(number=5): 10 res = "" 11 for i in range(number): 12 num = random.randint(1, 9) 13 string = chr(random.randint(97,122)) 14 s = random.choice([str(num),string]) 15 res += s 16 return res 17 18 res = ValdateCode(10) 19 print(res) 20 21 22 23 #以上代码执行结果如下: 24 43jh12l2i5