random模块
1.random随机数模块
1.1random() 0-1之间的随机数
import random ret = random.random() print(ret)
1.2randint(a,b) [a,b]之间的整数
import random print(random.randint(1,5))#1<=x<=5
1.3uniform(a,b) a-b之间的小数
import random
print(random.uniform(1,5))#1-2小数,2个参数是范围
1.4randrange(a,b) 只要有range就是顾头不顾腚
import random print(random.randrange(1,10) print(random.randrange(1,10,2))
1.5 choice() 随机返回一个
import random #最外层元素的元素随机返回一个 my_list = [1,23,["s",(1,"s")]] print(random.choice(my_list))
1.6 sample(a,b) 随机返回a中b个元素
print(random.sample(my_list,2))#不会重复,多次调用choice可能会重复
1.7 shuffle() 打乱内部顺序
没有产生新的序列,而是原列表打乱序列
import random random.shuffle(my_list) print(my_list)
2. 实例
2.1 返回指定数目的数字验证码
#返回指定数目的验证码 def code(n=6): s = "" for i in range(n): num = random.randint(0,9) s+=str(num) return s print(code(6))
2.2返回指定数目的数字和字母组合的验证码
def new_code(n=6,alpha = True): #生成数字和字母 #随机选择一个数字或字母 s= "" for i in range(n): num = str(random.randint(0,9)) if alpha: ap = chr(random.randint(65,90)) res = random.choice([num,ap]) else: res = ap s+=resreturn s print("ll",new_code())
#验证码含有数字和字母,且数目和字母都具有自由度 def code_mul(n=6,alpha=True): s = "" for i in range(n): num = str(random.randint(0,9)) if alpha: alpha = chr(random.randint(65,90))
#代码进行了优化,变量名的技巧,有字母就把最终的结果用num作为选择结果换之
#没有字母就直接用num,不进入if中对num进行替换 num = random.choice([num,alpha]) s+=num return s print(code_mul(4,alpha=False)) print(code_mul())
看十遍不如自己写一遍!巩固基础,纵横开拓!