官方文档:https://docs.python.org/zh-cn/3/library/random.html

基本操作

生成0到1之间的小数

  1. import random
  2. randoms = random.random() # 随机产生一个0到1之间的小数
  3. print(randoms)
  4. # 0.08165171624547463

生成指定区间的小数

  1. import random
  2. randoms = random.uniform(1, 4) # 随机产生一个1到4之间的小数
  3. print(randoms)
  4. # 3.975361745195931

生成指定区间的整数

  1. import random
  2. randoms = random.randint(1, 9) # 随机产生一个1到9之间的整数(包含1和9)
  3. print(randoms)
  4. # 3

从数据随机抽取一个

  1. import random
  2. l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  3. randoms = random.choice(l) # 随机抽取一个,
  4. print(randoms)
  5. # 4

从数据随机抽样(可以自定义个数)

  1. import random
  2. l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  3. randoms = random.sample(l, 5) # 随机指定个数抽样,指定个数不能超过数据长度,否则报错
  4. print(randoms)
  5. # [8, 9, 5, 3, 2]

随机打乱数据集合

  1. import random
  2. l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  3. random.shuffle(l) # 随机打乱一个数据集合
  4. print(l)
  5. # [2, 5, 9, 7, 8, 1, 4, 3, 6]

更多操作

笔试题

生成一个随机4位验证码,并且是数字或者大小写字母组合

  1. # 写代码之前一定先理清大致思路
  2. import random
  3. def get_code(n):
  4. # 定义一个空字符用于存储验证码
  5. code = ''
  6. # 1.先写一个固定产生五位的随机验证码(每一位都应该是三选一)
  7. for i in range(n): # 括号内写几就会产生几位验证码
  8. # 随机产生一个数字
  9. random_int = str(random.randint(0, 9)) # 整型无法与字符串相加 所以转成字符串
  10. # 随机产生一个小写字母
  11. random_lower = chr(random.randint(97, 122)) # chr方法给数字 依据ASCII码返回对应的字符
  12. # 随机产生一个大写字母
  13. random_upper = chr(random.randint(65, 90))
  14. # 三选一
  15. temp = random.choice([random_int, random_lower, random_upper])
  16. # 拼接字符串
  17. code += temp
  18. # print(code) # 最好不要是打印操作 而是返回值
  19. return code
  20. res = get_code(4) # 0xM0
  21. res1 = get_code(10) # AoUWE4Kfqt