前言:今天学习python的random模块,random模块的主要作用是生成随机数,今天将会罗列random模块中常用的方法,以及使用random模块写一个生成4位随机验证码的小程序。
一、常用方法
#random()方法用来生成0到1之间的浮点随机数,其中包含0,不包含1 >>> random.random() 0.947487542149347 #randint()方法用来随机选取给定两个整数之间的数字,包含开头数字和结尾数字 >>> random.randint(1, 2) 1 #randrange()方法用来生成给定整数中的随机随机,其中包含起始位,顾头不顾尾(也可以加上步长) >>> random.randrange(8) 7 #sample()方法用来从给定的序列(字符串、元组、列表)中随机选取n个元素 >>> random.sample((22,'csc','d','hh','dss','dh','sd9'), 2) ['dss', 'csc'] >>> random.sample('22kcsckdhhdsskdhsd90', 2) ['2', 'k'] >>> random.sample(['sdjsjfdsfjdsf', 'dd', '2'], 2) ['dd', 'sdjsjfdsfjdsf'] #uniform()方法用来生成给定范围内的一个浮点数,其中包含起始位,不包含结束位,是random()方法的升级版 >>> random.uniform(1, 10192.1) 1862.1806639675406 #shuffle()方法用来将序列(由于集合和字符串顺序固定,这里是指列表)进行排序,shuffle无返回值,返回的是None >>> list = [1, 'qd', 'qjx', 'jx'] >>> random.shuffle(list) >>> list ['qjx', 1, 'jx', 'qd'] #choice()方法用于随机选取序列中的一个元素 >>> str = 'djasjasdashdkaoiucdm' >>> random.choice(str) 'u' >>> random.choice(str) 'j' >>> list = [1, 'qinjis', 'jhu', 'jx'] >>> random.choice(list) 1 >>> random.choice(list) 'jx' >>> set = (0, 'k', 'ss', 'eee') >>> random.choice(set) 0 >>> random.choice(set) 'k'
二、生成四位随机验证码代码
#!/usr/bin/python3 #author:qinjiaxi import random #随机4位验证码功能 check_code = '' for i in range(4): current = random.randrange(4) if i == current: tmp = chr(random.randint(65, 90)) else: tmp = random.randint(0, 9) check_code += str(tmp) print(check_code) result: qinlang@qinlang-PC:~$ python3 ~/Desktop/check_code.py AM24 qinlang@qinlang-PC:~$ python3 ~/Desktop/check_code.py D3N2 qinlang@qinlang-PC:~$ python3 ~/Desktop/check_code.py G023 qinlang@qinlang-PC:~$ python3 ~/Desktop/check_code.py 0737 qinlang@qinlang-PC:~$ python3 ~/Desktop/check_code.py 6119