发布时间:2018-03-01 19:26:38编辑:admin阅读(3440)
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
random()
生成一个0到1的随机符点数
import random print(random.random())
执行输出
0.7950347424262036
randint()
用于生成一个指定范围内的整数
print(random.randint(1,7))
执行输出 2
randrange()
从指定范围内,按指定基数递增的集合中 获取一个随机数
print(random.randrange(1,3))
执行输出 2
choice()
从序列中获取一个随机元素
字符串,列表,元组都是序列
print(random.choice('abcd'))
执行输出 c
sample()
从指定序列中随机获取指定长度的片断
print(random.sample('abcd',2))
执行输出 ['c', 'b']
uniform()
指定范围内获取随机浮点数
print(random.uniform(1,10))
shuffle()
洗牌,它会改变原有的值
items = [1,2,3,4,5,6,7] print(items) random.shuffle(items) print(items)
执行输出
[1, 2, 3, 4, 5, 6, 7]
[7, 1, 5, 2, 3, 4, 6]
生成随机验证码:
首先生成4位数字
import random checkcode = '' for i in range(4): #执行4次,每次依次输出0,1,2,3 checkcode += str(i) print(checkcode)
执行输出
0123
生成4位随机值
import random checkcode = '' for i in range(4): current = random.randrange(0, 9) checkcode += str(current) print(checkcode)
执行输出
7118
验证码一般是数字和字母的组合,上面的代码只是实现了随机的数字
那么就需要也能输出字母的功能
下面先来一个功能,能够随机判断输出的是字母还是数字
随机输出一个0~4的数字和range()输出的数字,去比较。猜对了,就是字母,否则是数字
import random checkcode = '' for i in range(4): current = random.randrange(0,4) if i == current: print("字母") else: print("数字")
执行输出
字母
数字
字母
字母
如何随机输出字母呢?
在ASCII码中,65~90表示A-Z的大写字母,使用chr()方法就可以获取
print(chr(65))
输出 A
那么最终代码如下:
import random checkcode = '' for i in range(4): current = random.randrange(0,4) if current != i: temp = chr(random.randint(65,90)) else: temp = random.randint(0,9) checkcode += str(temp) print (checkcode)
执行输出
03RF
下一篇: python os模块
47605
45985
36909
34469
29080
25713
24566
19714
19245
17756
5565°
6155°
5691°
5737°
6705°
5483°
5484°
5988°
5965°
7295°