Python 基础

介绍

random模块根据 Mersenne Twister 算法,形成的伪随机生成器。 MT算法以正态分布的方式产生随机数,主要用于Monte Carlo 模拟。 

常用操作

产生随机数的不同方式

import random

# 随机浮点数
print(random.random())  # 0.1706000097536472
# 返回生成一个0到1的随机浮点数: 0<= n <= 1
print(random.uniform(1,8))  # 4.060336609768256
# 函数语法: random.uniform(a,b)
# 返回生成以a为下限,b为上限的随机浮点数: a<=n<=b

# 随机整数 print(random.randint(1,10)) # 8 # 函数语法:random.randint(a,b) # 随机返回以a为下限(包含),以b为上限(包含)的范围内的一个整数; a<= n <=b
# 随机选取0到100的偶数 print(random.randrange(0,101,2)) # 54 # 函数语法:random.randrange([start],stop[,step]) # 从指定范围内, 按指定计数递增的集合中获取一个随机数。1<=n<9 # 比如示例,等于从[1,4,7]序列中获得一个随机数 # random.randrange(1,9,3) 返回值等效于 random.choice(range(1,9,3))
# 随机字符,字符串等 print(random.choice('hqbesi')) # 返回值: e # 函数语法: random.choice(sequence)。 # 意在从序列中获取一个随机的元素, seq 可以包括list, tuple, string等。 print(random.sample(["h",1,"b",2],2)) # 返回值: h # 函数语法:random.sample(sequence, k) # 从指定序列中获取以长度为k的随机元素 # 洗牌功能 item = [1,2,3,4,5,6,7] print(item) # 返回:[1, 2, 3, 4, 5, 6, 7] random.shuffle(item) print(item) # 返回:[1, 4, 2, 3, 5, 7, 6]

应用:随机验证码

 1 #!usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # random模块实现验证码功能
 4 
 5 import random
 6 
 7 
 8 checkcode = ''
 9 
10 for i in range(4):
11     current = random.randrange(0,4)
12     if current == i:
13         tmp = chr(random.randint(65,90))  # ascii 码中数字65-90 代表字母
14     else:
15         tmp = random.randint(0,9)
16     checkcode+=str(tmp)
17 
18 print(checkcode)
随机验证码
原文地址:https://www.cnblogs.com/lg100lg100/p/7350499.html