python3基础篇(四)——条件控制

python3基础篇(四)——条件控制

前言:
1 阅读这篇文章我能学到什么?
  这篇文章将带你学习python3中的条件控制结构。if条件结构似乎已成各类程序语言的标配,如果你有其他语言的基础学习起来将会非常简单。

——如果你觉得这是一篇不错的博文,希望你能给一个小小的赞,感谢您的支持。

1 if结构

语法结构:

if <Expression>:
    <CodedBlock>

  <Expression>表示表达式,其结果转化成布尔型决定if分支的执行。<CodeBlock>是if内的代码块,只有当if的条件表达式<Expression>为真时代码块才会被执行。python是以缩进来表示代码块的,<CodeBlock>代码块必须比if至少有一个空格的缩进。另外,<CodeBlock>代码块可以由多个语句构成。不要忘记:号。
流程图:

Created with Raphaël 2.2.0 开始 <Expression>? <CodeBlock> 结束 yes no

  可以看到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下的代码块只能二选一执行,执行哪个取决于条件表达式的布尔结果。

Created with Raphaël 2.2.0 开始 <Expression> <CodeBlock1> 结束 <CodeBlock2> yes no

  流程图可以清晰看出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。

Created with Raphaël 2.2.0 开始 <Expression1> <CodeBlock1> 结束 <Expression2> <CodeBlock2> yes no yes no

代码示例:

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>

Created with Raphaël 2.2.0 开始 <Expression1> <CodeBlock1> 结束 <Expression2> <CodeBlock2> <CodeBlock3> yes no yes no

代码示例:

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条件分支可以水平嵌套和垂直嵌套,其实这两种写法是可以互相转化的。

发布了30 篇原创文章 · 获赞 95 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42475711/article/details/105461010
今日推荐