类的应用: 1.bmi体重指数计算器 2.taxi出租车费用计算器 3.猜数字 4.税率

1.bmi体重指数计算器  

class BMI(object):
    def bmi(self):
        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 start(self):
        self.bmi()
if __name__=='__main__':
    bm=BMI()
    bm.start()

2.taxi出租车费用计算器 

class Taxi(object):


    def taxi(self):

        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 start(self):
        self.taxi()
if __name__=='__main__':
    tx=Taxi()
    tx.start()

3.猜数字

import random
#猜数字
class Guess(object):
    def __init__(self):
        pass

    '''
        添加过关功能,第一关能猜测10次,第二关能猜测七次,第三关能猜测5次,第4关能猜测3次,第5关能猜测1次
    '''


    def guess(self):
        guess_list = [10, 7, 5, 3, 1,0]
        number = random.randint(0, 100)
        print(number)
        # index定义猜测次数
        index = 0
        # 列表的索引
        i = 0
        # 列表里的数值赋值给s
        s = guess_list[i]
        #记录猜数字的 关卡
        aa=guess_list.index(s)+1
        print('---------欢迎来到猜数字系统,本关为第%s关-------'%aa)
        print('第%s关您有%s次猜测机会'%(aa,s))
        while s:
            # 输入一个0~100的整数,input输入的是字符串
            gus_num = input('请输入您猜的数字(0~100):')
            # 将输入的字符串转换为整数类型
            gus_num = int(gus_num)
            # 只要输入的数字不在0~100的范围,重新输入
            while gus_num < 0 or gus_num > 100:
                # 重新输入
                gus_num = input('输入的数字不在范围,请重新输入:')
                # 转换为整数类型
                gus_num = int(gus_num)
                # 和正确答案数字做对比
            if gus_num > number:
                print('您猜大了')
            elif gus_num < number:
                print('您猜小了')
            else:
                print('恭喜您猜对了')
                print('-----------欢迎进入%s关-----------'%(aa+1))
                # 如果猜对了,给两个选项,1.继续玩 2.退出
                print('1.继续玩')
                print('2.退出程序')
                # 输入一个选项
                num = input('请选择您的操作:')
                # !=不等于 只要输入的选项不符合要求,重选
                while num != '1' and num != '2':
                    # 选项不存在,请重选
                    num = input('选项不存在,请重选:')
                    # num=int(num)
                # 继续玩
                if num == '1':
                    # 重置正确答案
                    index = 0
                    i += 1
                    number = random.randint(0, 100)
                    print(number)
                    # --------------------------------注意!!!
                    s = guess_list[i]
                    aa = guess_list.index(s)+1
                    print('第%s关您有%s次猜测机会' % (aa, s))

                    if s==0:
                        print('恭喜您已经通过所有关卡,欢迎下次来玩!')
                        break
                    continue

                else:
                    # 结束循环,退出程序
                    break
            print('您已经尝试了:%s次!' % index)
            index += 1
            if index == guess_list[i]:
                print('过关失败!')
                break
            s -= 1
    def start(self):
        self.guess()
if __name__=='__main__':
    gu=Guess()
    gu.start()


4.税率

#税率计算器
class Tax(object):
    def __init__(self,gz):
        self.gz=gz
    def tax(self):
        # while循环
        # while True:
        # 将工资转换为float类型
        gz = float(self.gz)
        # 如果输入的工资为0,结束循环

        # 如果工资大于或者等于7662 五险一金 = 7662 * 五险一金比例(22.5 %)
        if gz >= 7662:
            wxyj = 7662 * 0.225
        else:
            # 如果工资小于7662 五险一金=工资*五险一金比例
            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
        # print(shuilv)
        # print(sskcs)
        # 计算税额 税额=应纳税所得额*阶梯税率-速算扣除数
        shuie = ynssde * shuilv - sskcs
        # print(shuie)
        # 计算到手工资
        my_money = gz - wxyj - shuie
        print('税前工资:%.2f' % gz)
        print('缴纳税额:%.2f' % shuie)
        print('五险一金:%.2f' % wxyj)
        print('到手工资:%.2f' % my_money)

if __name__=='__main__':
    while 1:
        # 输入工资
        gz = input('请输入您的税前工资(输入0结束):')
        if gz <= '0':
            print('你不用交五险一金,也不用交税!')
            # break结束循环
            break
        ta=Tax(gz)
        ta.tax()






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值