实例01:创建计算BMi指数的模块
创建一个用于根据身高、体重计算BMI 指数的模块,命名为 bmi.py,其中 bmi为模块名,.py为扩展名
def fun_bmi(person, height,weight) : '''功能:根据身高和体重计算BMI指数''' print(person +"的身高: " + str(height)+ "米\t体重: " + str(weight)+ "千克") bmi=weight/ ( height*height) def fun_bmi_upgrade(*person) : #功能:根据身高和体重计算BMI指数(升级版)
实例02:导入两个包括同名函数的模块
创建两个模块,一个是矩形模块,其中包括计算矩形周长和面积的函数;另一个是圆形,其中包括计算圆形周长和面积的函数。然后在另一个Python文件中导入这两个模块,并调用相应的函数计算周长和面积
#rectangle.py def girth(width, height): return (width + height) * 2 def area(width, height): return width * height if __name__ == '__main__': print(area(10, 20))
#circular.py import math PI = math.pi def girth(r): return round(2*PI*r, 2) def area(r): return round(PI*r*r, 2) if __name__ == '__main__': print(girth(10))
运行结果:
实例03:在指定包中创建通用的设置和获取尺寸的模块
创建一个名称为settings的包,在该包下创建一个名称为size的模块,通过该模块实现设置和获取尺寸的通用功能。(1)在 settings包中,创建一个名称为size的模块,在该模块中,定义两个保护类型的全局变量,分别代表宽度和高度,然后定义一个change()函数,用于修改两个全局变量的值,再定义两个函数,分别用于获取宽度和高度。(2)在settings包的上一层目录中创建一个名称为main.py的文件,在该文件中导入.settings包下的size模块的全部定义,并且调用change()函数重新设置宽度和高度,然后再分别调用getWidth()和getHeight()函数获取修改后的宽度和高度
#size.py _width = 800 _height = 600 def change(w,h): global _width _width = w global _height _height = h def getwidth(): global _width return _width def getHeight(): global _height return _height
运行结果:
实例04:生成由数字、字母组成的4位验证码
在IDLE中创建一个名称为checkcode.py的文件,然后在该文件中导入 Python标准模块中的random模块(用于生成随机数),然后定义一个保仔验让码的受里,世片 1o书饮A乎书的哈证码,最后输出在该循环中,调用random模块提供的randrange()和 randint()方法生成符合要求的验证码,最后输出生成的验证码
import random checkcode = "" for i in range(4): index = random.randrange(0, 4) if index != i and index + 1 != i: checkcode += chr(random.randint(97, 122)) # 生成a~z中的一个小写字母 elif index + 1 == i: checkcode += chr(random.randint(65, 90)) # 生成A~Z中的一个大写字母 else: checkcode += str(random.randint(1, 9)) print("验证码:", checkcode)
运行结果:
实战一:大乐透号码生成器
import random def number(): a=[random.randint(1,35) for i in range(5)] list1=[] for i in a: if i not in list1: list1.append(i) else: i=random.randint(1,35) list1.append(i) list1.sort() a=[str(i) for i in list1] b=[random.randint(1,12) for i in range(2)] o=[] for i in b: if i not in o: o.append(i) else: i=random.randint(1,12) o.append(i) o.sort() b=[str(i) for i in o] c=[" "*5] for i in range(5): if len(a[i])==2: for j in range(2): if len(b[j])==2: pass else: b[j]='0'+b[j] else: a[i]='0'+a[i] g=a+c+b for i in g: print(i,end=" ") print("大乐透号码生成器") k=int(input("请输入要生成的大乐透号码注数:")) for i in range(k): number() print("")
结果:
实战二:春节集五福
import random # 抽五福的方法 def Ji_fu(): fus = ['爱国福', '富强福', '和谐福', '友善福', '敬业福'] fu = random.sample(fus, 1) return fu # 打印当前拥有的所有福 def fus(fu): print('当前拥有的福:') # 字典的键值对遍历方法 打印福卡 for i, j in fu.items(): print(i, ':', j, '\t', end='') # 判断是否集齐五福 def fu_ready(fu): # 设置一个集齐的标识flag,等于1表示集齐了 flag = 1 for i,j in fu.items(): if j == 0: # 有一个福卡的数量为0 flag = 0 # 标识为0,可以继续集福 return flag print('开始集福了…………') # 定义一个五福字典 保存用户的福卡 fu = {'爱国福': 0, '富强福': 0, '和谐福': 0, '友善福': 0, '敬业福': 0} # 用一个while语句循环获取五福,直到集齐为止 count = 0 # 设置一个计数器,记录集福的次数 while fu_ready(fu) == 0: # 集齐标识为0 input("\n按下<enter>键获取福卡:") getfu = Ji_fu()[0] # 进行抽卡 print('获取了:', getfu) fu[getfu] += 1 # 将抽到的卡加入五福字典,相应数量+1 fus(fu) # 调用方法打印当前拥有的五福 fu_ready(fu) # 调用方法判断是否集齐 count +=1 print("\n***五福已经集齐,真是有福之人***") print("一共集福",count,'次')
运行结果:
实战三:封装用户的上网行为
# 网页浏览时间统计 def web(time): print("浏览网页:"+str(time)+"小时;") return time # 看视频时间统计 def video(time): print("看视频:"+str(time)+"小时;") return time # 玩网络游戏时间统计 def playgame(time): print("玩网络游戏:"+str(time)+"小时;") return time # 上网学习时间统计 def study(time): print("上网学习:"+str(time)+"小时。") return time # 合计上网时间统计 def total(time): print('今天上网时间共计:'+str(time)+"小时,",end=' ') if time >= 8: print("请保护眼睛,合理安排上网时间!") else: print("比较合理,但也要注意休息!") name = '小明' print(name, '上网时间、行为统计……') t1 = web(1.5) t2 = video(2) t3 = playgame(3) t4 = study(2) time = t1 + t2 + t3 + t4 total(time)
运行结果:
实战四:计算个人所得税
# 根据月收入算个税模块 def tax(monthmoney): # 最低起征点3500 ds = 3500 baoxian = 7662 # 养老保险 yanglao = monthmoney * 0.08 # 医疗保险 yiliao = monthmoney * 0.02 # 失业保险 shiye = monthmoney * 0.005 # 公积金 housem = monthmoney * 0.12 # 计算三险一金总额,如超过上限按上限算 demoney = yanglao + yiliao + shiye + housem if demoney >= 7662: demoney = 7662 # 计算应征税额 lastmoney = monthmoney - demoney - ds # 按不同档次征税,定义税额taxes if lastmoney <= 0: taxes = 0 elif 0< lastmoney < 1500: taxes = lastmoney * 0.03 elif 1500 <= lastmoney < 4500: taxes = lastmoney * 0.1 - 105 elif 4500 <= lastmoney < 9000: taxes = lastmoney * 0.2 - 555 elif 9000 <= lastmoney < 35000: taxes = lastmoney * 0.25 - 1005 elif 35000 <= lastmoney < 55000: taxes = lastmoney * 0.3 - 2002 elif 55000 <= lastmoney < 80000: taxes = lastmoney * 0.35 - 5505 elif 80000 <= lastmoney: taxes = lastmoney * 0.45 - 13505 # if lastmoney < 0: # taxes = 0 return taxes m = float(input("请输入您的月收入总额:")) taxes = tax(m) print('您应征个人所得税金额为:{:.2f} 元'.format(taxes))
运行结果:
标签:fu,Python,random,第八章,height,time,print,def From: https://www.cnblogs.com/zhuangzhuang123/p/17012139.html