大爽Python入门公开课教案
点击查看教程总目录
简单回顾if
回顾下第一章的代码
>>> x = 5
>>> if x > 0:
... print("x is greater than 0")
...
x is greater than 0
当时是从朴素的逻辑角度去理解的。
现在详细的说一下这个。
if语句的基础形式如下
if condition:
statement # code block
condition为True,代表if判断成功,则执行冒号下面的缩进的代码块statement。condition为False,代表if判断不成功,不执行冒号后面的statement。
补充:如果condition不是布尔值,那就会先计算出condition的布尔值。
if...else
if常常会和else连用。
其语法格式如下
if condition:
statement1 # code block for True
else:
statement2 # code block for False
condition为True,代表if判断成功,执行statement1。
condition为False,代表if判断不成功,进入else情况,执行statement2。
代码示例
>>> x = 5
>>> if x > 0:
... print("x is greater than 0")
... else:
... print("x is less than or equal to 0")
x is greater than 0
>>> x = - 1
>>> if x > 0:
... print("x is greater than 0")
... else:
... print("x is less than or equal to 0")
x is less than or equal to 0
if...elif
有时候,我们可能需要判断多个场景。
比如:
如果是场景A,则如何如何。
如果是场景B,则如何如何。
如果是场景C。。。。。。
这个时候就需要使用elif。
其基础格式如下
if condition1:
statement1 # code block for condition1
elif condition2:
statement2 # code block for condition2
condition1为True,代表if判断成功,执行statement1
(不进入后面的elif判断)。condition1为False,代表if判断不成功,进入elif判断。condition2为True,代表elif判断成功,执行statement2。condition2为False,代表elif判断不成功,不执行statement2。
且可以不断地在后面补充elif
if condition1:
statement1 # code block for condition1
elif condition2:
statement2 # code block for condition2
elif condition3:
statement2 # code block for condition2
elif condition4:
statement2 # code block for condition2
condition1为True,代表if判断成功,执行statement1
(不进入后面的elif判断)。
condition1为False,代表if判断不成功,进入下面第1个elif判断。condition2为True,代表第1个elif判断成功,执行statement2(不再进入后面的elif判断)。
condition2为False,代表第1个elif判断不成功,进入下面第2个elif判断。condition3为True,代表第2个elif判断成功,执行statement3(不再进入后面的elif判断)。
condition3为False,代表第2个elif判断不成功,进入下面第3个elif判断。condition4为True,代表第3个elif判断成功,执行statement4。
condition4为False,代表第3个elif判断不成功。
代码示例。
比如我们之前的习题,根据左转的次数判断其方位。
小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度),
小明面朝哪里?
这个就可以使用上面的elif来弄
times = 51
di = times % 4
if di == 0:
print("north")
elif di == 1:
print("west")
elif di == 2:
print("south")
elif di == 3:
print("east")
其输出为
east
改变times,输出也会更着发生对应变化。
if...elif...else
实际上,对于上面的例子。
最后一个判断是没必要,或者说多余的。
因为总共就四种情况,不是第一二三种的话,就必然是第四种。
所以最后一个elif判断,可以直接换成else。
即如下
times = 51
di = times % 4
if di == 0:
print("north")
elif di == 1:
print("west")
elif di == 2:
print("south")
else:
print("east")
当else上面的所有if和elif都为False时。
会进入else。
一般情况数量固定,当其他情况都判断之后,
最后剩下的一个情况不用判断,直接使用else。