total总的四个功能

'''
写四个函数,分别为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÷身高^2m        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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值