import random
print(random.random()) # 默认限制在0-1的小数
print(random.randint(1, 8)) # 1-8的整数 包含1和8
print(random.choice('joe smith')) # 随机选择一个字符
print(random.choice(['joe', 'smith'])) # 元组中随机选择
print(random.randrange(1, 3)) # 1-3的整数,不包含3
print(random.sample([1, '2', [3]], 2)) # 列表[1, '2', [3]]三个元素,随机两个组合
print(random.uniform(2, 3)) # 大于2,小于3的小数
lst1 = [1, 2, 3, 4, 5, 6, 7]
random.shuffle(lst1)
print(lst1) # 打乱顺序 相当于洗牌
要点:
- random() 生成0-1之间的小数
- randint(1,9) 生成1-9之间的整数,包含1,9
- choice(‘abc’) 随机选择一个字符
- choice(['a', 'b']) 随机选择一个元素
- randrange (1,3) 生成1-3之间的整数,不包含3
- sample([a,b,c],2) 随机选择列表内的两个元素组合
- uniform(2,3) 生成2-3之间的小数
- shuffle(list): list=[1,2,3,4,5] 。相当于重新洗牌,随机化
import string
# 生成5位验证码 数字+字母
def v_code():
code = ''
for i in range(5):
# 方式一
c = random.randint(65, 90) # 随机生成字母
add_letter = chr(c)
# 方式二
s = string.ascii_letters # 随机生成字母
add_letter = random.choice(s)
add_num = random.randrange(10)
if i == 2 or i == 4:
add = add_letter
else:
add = add_num
print(code + str(add), end='')
v_code()
要点:
- 随机生成字母:方式一:关键是 chr() 。
- 随机生成字母:方式二:关键是string.ascii_letters , choice()