python3基础篇(四)——条件控制
前言:
1 阅读这篇文章我能学到什么?
这篇文章将带你学习python3中的条件控制结构。if条件结构似乎已成各类程序语言的标配,如果你有其他语言的基础学习起来将会非常简单。
——如果你觉得这是一篇不错的博文,希望你能给一个小小的赞,感谢您的支持。
1 if结构
语法结构:
if <Expression>:
<CodedBlock>
<Expression>
表示表达式,其结果转化成布尔型决定if
分支的执行。<CodeBlock>
是if内的代码块,只有当if的条件表达式<Expression>
为真时代码块才会被执行。python是以缩进来表示代码块的,<CodeBlock>
代码块必须比if
至少有一个空格的缩进。另外,<CodeBlock>
代码块可以由多个语句构成。不要忘记:
号。
流程图:
可以看到if
内的语句<CodeBlock>
在条件表达式<Expression>
结果为真时被执行,假时不执行。
代码示例:
if True: #条件为真
print(1) #执行
print("a") #执行
if False: #条件为假
print(2) #不执行
print("b") #执行
运行结果:
1
a
b
2 if——else结构
if <Expression>:
<CodeBlock1>
else:
<CodeBlock2>
当<Expression>
条件表达式为真时执行<CodeBlock1>
,为假时执行<CodeBlock2>
。也即if和else下的代码块只能二选一执行,执行哪个取决于条件表达式的布尔结果。
流程图可以清晰看出if-else
的二分支结构特性。
代码示例:
if True: #条件为真
print(1) #执行
else:
print(2) #不执行
if False: #条件为假
print(3) #执行
else:
print(4) #不执行
运行结果:
1
4
3 if——elif结构
语法结构:
if <Expression1>:
<CodedBlock1>
else if <Expression2>:
<CodedBlock1>
当<Expression1>
条件表达式1为真时执行<CodeBlock1>
代码块1,为假时继续判断<Expression2>
条件表达式2。若表达式2为真则执行<CodeBlock2>
代码块2,为假则既不执行代码块1也不执行代码块2,程序将往后运行。需要 注意 的是当表达式1和2都为真时,有序判断有先后顺序,会先判断表达式1也将执行代码块1,执行完代码块1后就结束了这个if——elif
结构的处理。只有在表达式1为假的情况下才会判断表达式2。
代码示例:
if True: #条件为真
print(1) #执行
elif False: #未运行到这里
print(2) #不执行
if False: #条件为假
print(1) #不执行
elif True: #条件为真
print(2) #执行
if False: #条件为假
print(1) #未执行
elif False: #条件为假
print(2) #未执行
if True: #条件为真
print(1) #不执行
elif True: #未运行到这里
print(2) #不执行
运行结果:
1
2
1
4 if——elif——else结构
语法结构:
if <Expression1>:
<CodedBlock1>
elif <Expression2>:
<CodedBlock2>
else:
<CodedBlock3>
与if——elif
区别在于,当<Expression1>
和<Expression2>
都为假时将执行<CodeBlock3>
。
代码示例:
if False: #条件为假
print(1) #未执行
elif False: #条件为假
print(2) #未执行
else:
print(3) #执行
运行结果:
3
5 if的嵌套结构
代码示例:
#水平嵌套
if True:
print(0)
elif False:
print(0)
elif False:
print(0)
elif False:
print(0)
else:
print(0)
#垂直嵌套
if True: #外层if——else结构
if True: #内层if——else结构
print(1)
else:
print(2)
else:
if True: #内层if——else结构
print(3)
else:
print(4)
输出结果:
0
1
if
条件分支可以水平嵌套和垂直嵌套,其实这两种写法是可以互相转化的。