美文网首页
python基础-分支与判断

python基础-分支与判断

作者: 0893051f5f11 | 来源:发表于2018-11-24 11:38 被阅读0次

    if语句的使用

    在Python中,要构造分支结构可以使用ifelifelse关键字。
    所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名
    下面的例子中演示了如何构造一个分支结构

    """
    分段函数求值:
            3x - 5  (x > 1)  
    f(x) =  x + 2   (-1 <= x <= 1)  
            5x + 3  (x < -1)
    """
    
    x =float(input('x= '))
    
    if x > 1:
        y = 3 * x - 5
    elif x < -1:
        y = 5 * x + 3
    else:
        y = x + 2
    
    print('y={:.2f}'.format(y))
    

    当然根据实际开发的需要,分支结构是可以嵌套的
    在if的内部构造出一个新的分支结构,同理elif和else中也可以再构造新的分支,我们称之为嵌套的分支结构

    注意

    if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,请测试并解释为什么下面的程序打印的是teenager

    age=20
    
    if age>6:
        print('teenager')
    # 可以改成if 查看结果
    elif age>18: 
        print('adult')
    else:
        print('kid')
    

    练习

    练习1:英制单位与公制单位互换

    进度1in=2.54cm

    value = float(input('请输入长度: '))
    unit = input('请输入单位: ')
    if unit in ['in', '英寸']:
        print('%f英寸 = %f厘米' % (value, value * 2.54))
    elif unit in ['cm', '厘米']:
        print('%f厘米 = %f英寸' % (value, value / 2.54))
    else:
        print('请输入有效的单位')
    
    请输入长度: 5
    请输入单位: in
    5.000000英寸 = 12.700000厘米
    

    练习2:百分制成绩转等级制

    百分制成绩转等级制成绩
    90分以上 --> A
    80分~89分 --> B
    70分~79分 --> C
    60分~69分 --> D
    60分以下 --> E

    score = float(input('请输入成绩: '))
    if score > 100:
        grade = '优秀'
        print('你不会这么聪明吧')
    elif score >= 90:
        grade = 'A'
    elif score >= 80:
        grade = 'B'
    elif score >= 70:
        grade = 'C'
    elif score >= 60:
        grade = 'D'
    else:
        grade = 'E'
    print('对应的等级是:', grade)
    
    请输入成绩: 105
    你不会这么聪明吧
    对应的等级是: 优秀
    

    练习3:实现一个个人所得税计算器

    输入月收入和五险一金计算个人所得税
    起征点5000元

    含税级距 税率
    应纳税额≤3000 3%
    3000<应纳税额≤12000 10%
    12000<应纳税额≤25000 20%
    25000<应纳税额≤35000 25%
    35000<应纳税额≤55000 30%
    55000<应纳税额≤80000 35%
    应纳税额>80000 45%
    salary = float(input('本月收入: '))
    insurance = float(input('五险一金: '))
    diff = salary - insurance - 5000
    if diff <= 0:
        rate = 0
        deduction = 0
    elif diff <= 3000:
        rate = 0.03
        deduction = 0
    elif diff <= 12000:
        rate = 0.1
        deduction = 105
    elif diff <= 25000:
        rate = 0.2
        deduction = 555
    elif diff <= 35000:
        rate = 0.25
        deduction = 1005
    elif diff <= 55000:
        rate = 0.3
        deduction = 2755
    elif diff <= 80000:
        rate = 0.35
        deduction = 5505
    else:
        rate = 0.45
        deduction = 13505
    tax = abs(diff * rate - deduction)
    print('个人所得税: ¥%.2f元' % tax)
    print('实际到手收入: ¥%.2f元' % (diff + 3500 - tax))
    
    微信关注.png

    相关文章

      网友评论

          本文标题:python基础-分支与判断

          本文链接:https://www.haomeiwen.com/subject/wwveqqtx.html