''' 写四个函数,分别为BMI体重计算器、出租车费用计算器、个税计算器、猜数字游戏 ''' #体重计算器函数 def bmi(): #声明身高,体重变量 while True: # 声明变量 身高、体重 height = input('请输入您的身高(m):') weight = input('情输入您的体重(kg):') # 如果输入的身高或者体重有一个为0,直接结束循环 # or 或的关系 关键字,多个条件时,只要有一个条件成立即可执行代码块内容 if height == '0' or weight == '0': print('您输入的数据有误,程序已结束!') # 结束循环 break # and 与的关系 关键字 多个条件时,条件必须同时成立才行 if height == '1.8' and weight == '70': print('微信扫一扫吧') # not 表示非的关系 # 将输入的身高体重 转换为小数 float类型 height = float(height) weight = float(weight) # 体质指数(BMI)=体重(kg)÷身高^2(m) bmi = weight / (height * height) ''' 过轻:低于18.5 正常:18.5-23.9 过重:24-27 肥胖:28-32 非常肥胖, 高于32 ''' if bmi < 18.5: print('体重过轻...') elif 18.5 <= bmi <= 23.9: print('标准身材!') elif 24 <= bmi <= 27: print('过重!') elif 28 <= bmi <= 32: print('大胖子') else: print('超级大胖子') #个税计算器 def calc_tax(): while True: # 输入工资 gz = input('请输入您的税前工资(输入0结束):') # 将工资转换为float类型 gz = float(gz) # 如果输入的工资为0,结束循环 if gz <= 0: # break结束循环 print('你不用交五险一金,也不用交税!') break # 如果工资大于或等于7662 五险一金 = 7662*五险一金比例(0.225) if gz >= 7662: wxyj = 7662 * 0.225 # 如果工资小于7662 五险一金 = 工资 * 五险一金比例 else: wxyj = gz * 0.225 # 应纳税所得额 = 工资 - 五险一金 - 起征点(3500) ynssde = gz - wxyj - 3500 # 判断应缴纳税所得额所在的阶梯 # 声明两个变量 税率、速算扣除数 shuilv = 0 sskcs = 0 # 判断应缴纳所得税所在的阶梯 if ynssde <= 0: print('您不用交税!') elif ynssde <= 1500: shuilv = 0.03 elif ynssde <= 4500: shuilv = 0.1 sskcs = 105 elif ynssde <= 9000: shuilv = 0.2 sskcs = 555 elif ynssde <= 35000: shuilv = 0.25 sskcs = 1005 elif ynssde <= 55000: shuilv = 0.3 sskcs = 2755 elif ynssde <= 80000: shuilv = 0.35 sskcs = 5505 else: shuilv = 0.45 sskcs = 13505 # 计算税额,税额 = 应纳税所得额 * 阶梯税率 - 速算扣除 shuie = ynssde * shuilv - sskcs # 到手工资 = 工资-五险一金-税额 my_money = gz - wxyj - shuie print('税前工资:%.2f' % gz) print('缴纳税额:%.2f' % shuie) print('五险一金:%.2f' % wxyj) print('到手工资:%.2f' % my_money) #定义出租车计算器 def taxi(): while True: # 快速多行缩进,可以选中需要缩进的行,按Tab键 # 1.输入一个公里数 km = input('请输入行驶公里数(km),输入0结束:') # 如果km的值为0,结束循环 if km == '0': print('欢迎下次使用!Bye bye!') break # 2.将公里数转换为float类型 km = float(km) # 3.根据不同的公里数计算需要的车费 if km <= 2: # 3.1 起步价8元 包含2公里 print('起步价,8元') elif km <= 12: # 3.2 超出2公里至12公里的部分 按每公里1.2计算 money = 8 + (km - 2) * 1.2 # 占位符 %f 专门用来给float类型的数据做占位的 # %.2f 保留小数点后两位 print('共行驶%.2f千米,共%.2f元' % (km, money)) else: # 3.3 超出12公里的部分 按每公里 1.5计算 money = 8 + 12 + (km - 12) * 1.5 print('共行驶%.2f千米,共%.2f元' % (km, money)) #定义猜数字游戏 def guess_number(): import random # randint() 功能函数,随机生成一个范围内整数 number = random.randint(0, 100) # 在while中写代码 count = 0 while True: # 输入一个0~100的整数,input输入的是字符串 gus_num = input('请输入您猜的数字(0~100):') # 将输入的字符串转化为整数类型 gus_num = int(gus_num) # 只要输入的数字不在0~100的范围,重新输入 while gus_num not in range(0,101): gus_num = input('输入的数字不在范围,请重新输入:') # 转换为整数类型 gus_num = int(gus_num) # 和正确的答案数字做对比 if gus_num > number: print('您猜大了!') elif gus_num < number: print('您猜小了!') else: print('恭喜您猜对了!', '\n') # 如果猜对了,两个选项1.继续玩 2.退出 print('1.继续玩', '\t', '2.退出') # 输入一个选项 num = input('请选择您的操作:') # !=不等于 只要输入的选项不符合要求,重选 while num != '1' and num != '2': # 选项不存在,请重选 num = input('选项不存在,请重选:') # 继续玩 if num == '1': # 重置正确答案 number = random.randint(0, 100) # 猜测次数归零 i = 0 # 跳过当前循环,直接执行下次循环 continue else: # 结束循环,退出程序 print('欢迎您下次再来!') break count = count + 1 if count == 3: print('您的次数过多,退出!') break #调用函数,while循环 while True: print('1.体重指数计算器','\t','2.出租车计算器','\t','3.个税计算器','\t','4.猜数字游戏','\t','0.退出程序','\n') # 选择对应的选项 num=input('请选择您的操作:') #转换整数类型 num=int(num) #range(开始位置,结束位置)范围,包含开始范围,不包含结束位置 while num not in range(0,5): num=input('您输入的选项不存在,请重新选择:') num=int(num) if num==1: #执行BMI体重计算器 bmi() elif num==2: #执行出租出费用计算器 taxi() elif num==3: #执行个税计算器 calc_tax() elif num==4: #执行猜数字计算器 guess_number() elif num==0: #退出 break
total总的四个功能
最新推荐文章于 2022-01-05 10:26:04 发布