Python3学习之路~5.3 random模块

random模块常用方法:

import random

# 随机数
print(random.random()) # 生成一个0到1的随机浮点数,0 <= n < 1.0
print(random.uniform(1,10)) # 生成一个1到10的随机浮点数,1.0 <= n < 10.0
print(random.randint(1,2)) # 生成一个指定范围内的随机整数,a <= n <= b
print(random.randrange(1,10)) # 从指定范围内,按指定基数递增的集合中获取一个随机数
print(random.randrange(1,10,2)) # 从[1,3,5,7,9]中获取一个随机数,其结果等效于random.choice(range(1,10,2))

'''
random.choice(sequence):从序列中获取一个元素,参数sequence表示一个有序类型。
这里要说明一下,sequence在Python中不是一种特定的类型,而是泛指一系列的类型。
list,tuple,字符串都属于sequence。下面是一些例子
'''
print(random.choice('学习Python')) # P
print(random.choice(['My','name','is','Alice'])) # My
print(random.choice(('tuple','list','dict'))) # tuple

print(random.sample([1,2,3,4,5],3)) # [1,2,5] 从指定序列中随机获取指定长度的片段
list=[1,2,3,4,5]
random.shuffle(list) #打乱顺序
print(list) # [5, 4, 1, 3, 2]

实际应用

# 实际应用:
# 随机整数
print(random.randint(0,99)) # 26

# 随机选取0-100间的偶数
print(random.randrange(0,101,2)) # 12
import random
# 随机浮点数
print(random.random()) # 0.3399543844248226
print(random.uniform(1,10)) # 7.941476566194736

# 随机字符
print(random.choice('abcdefg!@#$%^&*')) # a

# 多个字符中选取特定数量的字符
print(random.sample('abcdefghij',3)) # ['c', 'j', 'g']

# 随机选取字符串
print(random.choice(['apple','pear','pench','orange'])) # pear

# 洗牌
items = [1,2,3,4,5,6]
print(items) # [1, 2, 3, 4, 5, 6]
random.shuffle(items)
print(items) # [3, 5, 2, 6, 1, 4]
View Code
import random

checkcode = ''

for i in range(4):
    current = random.randrange(0,4)
    if current == i:
        tmp = chr(random.randint(65,90)) #65-90在ASCII码中代表A-Z
    else:
        tmp = random.randint(0,9)
    checkcode += str(tmp)

print(checkcode)
生成随机验证码

 

posted @ 2018-12-11 15:28  zhengna  阅读(145)  评论(0编辑  收藏  举报