if语句的用法

  • if语句
    if condition:
        代码块
    condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)

  • 代码块

    • 类似于if 语句的冒号后面的就是一个语句块
    • 在if、for、def、class等关键字后使用的代码块

    例:

    if 1 > 2:
        print(‘1 greater than 2’)
    else:
        print(‘1 less than 2’)
    解析:如果1>2,则打印’1 greater than 2’;否则,打印’1 less than 2’

真值表

if语句的用法

  • False等价布尔值,相当于bool(value)
    • 空容器
          空集合set;空字典dict;空列表list;空元祖tuple
    • 空字符串
    • None对象
    • 0

多分支结构

  • if…elif…else

    例:

    score =50
    if score >= 100:
        print(‘too big’)
    elif score >= 80:
        print(‘very good’)
    elif score >= 60:
        ptint(‘good’)
    else:
        ptint(‘not good’)
    解析:
    score>=100吗?不大于则进入下一个分支;
    score>=80?不大于则进入下一个分支;
    score>=60吗?不大于则进入下一个分支;
    如果上述条件均不满足,即为score < 60,进入最后一个分支,打印’not pass’
    当上一个分支条件未满足,即下一个分支自动附加上一个分支的条件。

分支嵌套

  • 嵌套结构,可以是分支、循环的嵌套
  • 可以互相嵌套多层
  • 多分支结构,只要有一个分支被执行,其他分支都不会被执行
  • 前一个条件被测试过,下一个条件相当于隐含着这个条件

例:

score =50
if score <0:
    print(‘wrong’)
else: #隐藏score>=0
    if score == 0:
        print(‘egg’)
    elif score <= 100: #隐藏 > 0
        print(‘right’)
    else: #隐藏score > 100
        ptint(‘to big’)

分支折半

折半的前提是有序,最好

例:

给定一个不超过5位的正整数,判断其有几位
b = int(input(“please input a nubmer”))
if b >= 1000:
    if b > 10000: #隐藏b>1000
        print(5)
    else:
        print(4)
else:#隐藏b<1000
    if b >= 100:
        print(3)
    elif b>=10:
        print(2)
    else:
        print(1)