Python学习笔记-常用模块介绍--random随机数函数
1.random模块基本使用
import random print(random.random()) # (0,1)----float 大于0且小于1之间的小数 print(random.randint(1, 3)) # [1,3] 大于等于1且小于等于3之间的整数 print(random.randrange(1, 3)) # [1,3) 大于等于1且小于3之间的整数 print(random.choice([1, '23', [4, 5]])) # 1或者23或者[4,5] # 只选一个 print(random.sample([1, '23', [4, 5]], 2)) # 列表元素任意2个组合 后面的参数2 是可以选两个 print(random.uniform(1, 3)) # 大于1小于3的小数,如1.927109612082716 item = [1, 3, 5, 7, 9] random.shuffle(item) # 打乱item的顺序,相当于"洗牌" print(item)
2.应用场景?
- 抽奖
- 验证码
3.生成4位随机验证码,怎么实现?
import random dic = ['a','b','c','d','e',1,2,3,4,5,6,7,8,9,0 ] res = random.sample(dic,4) print("生成的随机数是:",res)
4.验证码能否写的更好些?(自己写的)
- 1.知道ord和chr的功能
-
# chr查看数字对应的字符串,ord查看字符串对应的数字 # print(chr(65)) # 65 ==> A ; 90==>Z # print(ord("z")) # a = 97 ; z = 122
- 2.生成随机数字,字母
-
# 生成随机数字 print(random.randint(0,9)) # 生成随机的a-z print(chr(random.randint(97,122))) # 生成随机的A-Z print(chr(random.randint(65,90)))
- 3.生成4位验证码
-
# 生成4位随机验证码 words = [] for i in range(4): res = random.randint(0,2) if res == 0: # 假设生成0,就生成随机的数字 words.append(random.randint(0,9)) elif res == 1: # 假设生成1,就生成随机的a-z words.append(chr(random.randint(97,122))) else: # 假设生成的是2,就生成随机的A-Z words.append(chr(random.randint(65,90))) result = "" for i in words: result += str(i) # 转换为字符串 print(result)
5.验证码(进一步优化)
# 优雅的 res = "" for i in range(4): num = str(random.randint(0,9)) # 随机数字 word_a_z = chr(random.randint(97,122)) # 随机a-z word_A_Z = chr(random.randint(65,90)) # 随机A-Z res += random.choice([num,word_a_z,word_A_Z]) # 随机选择1个加到字符串里 print(res)
参考资料:
标签:
Python学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~