#1.random模块介绍
>>> import random #随机小数 >>> random.random() #(0,1)之间小数 0.2664338663654585 >>> random.uniform(1,3) #(1,3)之间的小数 1.4270147180533838 #随机整数 >>> random.randint(1,5) # [1,5] >>> random.randrange(1,10,2) # [1,10)的奇数 #随机选择一个返回 >>> random.choice([1,'23',[4,5]]) # #1or23or[4,5] #随机选择多个返回,返回的个数为函数的第二个参数 >>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合 [[4, 5], '23'] #打乱列表顺序 >>> item=[1,3,5,7,9] >>> random.shuffle(item) # 打乱次序 >>> item [5, 1, 3, 7, 9] >>> random.shuffle(item) >>> item [5, 9, 7, 1, 3]
#实例: 运用random模块生成验证码
import random def func1 (n=6,m=True):#随机生成4到6位数字或者字母+数字验证码 code="" for i in range(n): num=str(random.randint(0,9)) if m: upper=chr(random.randint(65,90)) lower=chr(random.randint(97,122)) num=random.choice([num,upper,lower]) code+=num return code #调用函数 print(func1()) print(func1(4,False))
#实例 给n个人 发money大小的红包 #方法一

import random def hongbao(money,n):#money 为钱数 n为分几份 money=money*100 #转换成分 m=random.sample(range(1,money),n-1) #随机取n-1个点 m.insert(0,0) #把0加入列表索引0的位置 m.append(money) #把money加入列表 m.sort() #把m排序 for r in range(n): yield (m[r + 1] - m[r])/100 for i in hongbao(200,10): print(i) #方法二 根据概率 import random def Bonus(person,money): # 5,200 dict_person_money = {} for i in range(person): num = random.randint(1,100) # 99 99 99 99 99 dict_person_money["Person%s"%(i+1)] = num # person1:99 num_sum = 0 for i in dict_person_money: num_sum += dict_person_money[i] # 5 * 99 = 495 for i in dict_person_money: # 99/495 1/5 * 200 = 40 x =round(dict_person_money[i]/num_sum*money,2) dict_person_money[i] = '$%s'%x return dict_person_money result = Bonus(10,1) print(result)
#2 time模块介绍
import time#时间戳—>结构化时间 time.localtime()#time.localtime()中不填值默认为是当前时间 time.gmtime()#time.gmtime()是显示伦敦时间与localtime()差8小时 #结构化时间->字符串时间 time.strftime("%Y-%m-%d %X") time.strftime("%Y-%m-%d %X",time.localtime()) #字符串时间->结构化时间 time.strptime("2018-8-20","%Y-%m-%d") #结构化时间->时间戳 time.mktime(time.localtime())
#时间戳->字符串时间 time.ctime(15000000) time.ctime()#time.ctime()中不填值默认为是当前时间 #结构化时间->字符串时间 time.asctime(time.localtime()) time.asctime()#time.asctime()中不填值默认为是当前时间