random模块

import random

# 浮点数
random.randon() # 0< 随机浮点数 < 1
random.uniform(1,3) # 1< 随机浮点数 < 3

# 整数
random.randint(1,10)	# 1<= 随机整数 <=10
random.radrange(1,10)	# 1<= 随机整数 < 10

# 可迭代对象
random.choice( 可迭代对象 )
random.choice( [1,'aaa',[44,55]] ) # 随机取一个,取出来什么类型就是什么类型
# >>> 1 <class 'int'> / aaa <class 'str'> / [44, 55] <class 'list'>

# 抽奖活动
import random
random.choices( 可迭代对象,weights=设置每一个权重,k=取出几个数 )
print(random.choices([1, 2, 3, 4, 5, 6], weights=[98, 98, 98, 98, 98, 10], k=1))
# 6 概率为 10/500 0.02



random.sample( 可迭代对象, 选取个数 )
random.sample( [1,'aaa',333,444,555], 2 ) # 随机取两个,放入列表中
# >>> [1, 'aaa'] 


# 打乱顺序--'洗牌'
item = [1, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(item)
print(item)
# >>> [6, 9, 7, 5, 8, 1, 4, 3]

案例:随机验证码

ASCII码
chr(65) --->'A'
ord('A') ---> 65
import random
res= ''

for i in range(6):
    26大写字母随机取一个 = chr( random.randint(65,90) )
    10个数字随机取一个 = str( random.randint(0,9) )
    随机字符 = random.choice([26大写字母随机取一个,10个数字随机取一个])
    res += 随机字符
print(res) 
# >>> W583Q7
posted @ 2022-06-19 21:02  lxd670  阅读(8)  评论(0编辑  收藏  举报