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’
真值表
-
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)