条件判断

阅读: 2926


条件判断是通过一条或多条判断语句的执行结果(True或者False)来决定执行的代码块。

在Python语法中,使用if、elif和else三个关键字来进行条件判断。

image.png-17.5kB

if语句的一般形式如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句

如果 "condition_1" 为False,将判断 "condition_2"

如果"condition_2" 为 True 将执行 "statement_block_2" 块语句

如果 "condition_2" 为False,将执行"statement_block_3"块语句

条件判断的使用原则:

  • 每个条件后面要使用冒号(:)作为判断行的结尾,表示接下来是满足条件(结果为True)后要执行的语句块。
  • 除了if分支必须有,elif和else分支都可以根据情况省略。
  • 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 顺序判断每一个分支,任何一个分支首先被命中并执行,则其后面的所有分支被忽略,直接跳过!
  • 在Python中没有switch – case语句

我们看一个演示猜数字的简单程序:

# 演示数字猜谜游戏
number = 20
guess = -1
print("数字猜谜游戏!")
while guess != number:
    guess = int(input("请输入你猜的数字:"))

    if guess == number:
        print("恭喜,你猜对了!")
    elif guess < number:
        print("猜的数字小了...")
    elif guess > number:
        print("猜的数字大了...")

if/else语句可以嵌套,也就是把 if...elif...else 结构放在另外一个 if...elif...else 结构中。形如下面的结构:

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else
        语句
elif 表达式4:
    语句
else:
    语句

完整的代码例子如下:

# 此程序的功能意义不重要,只是对if嵌套的展示
var = 100
if var < 200:
    print("比200小!")
    if var == 150:
        print('这是150')
    elif var == 100:
        print('这是100')
    elif var == 50:
        print('这是50')
elif var < 50:
    print("比50小!")
else:
    print("无法判断正确的值!")

print("Good bye!")

PS:在if条件判断中,分支比较多的情况下,很多时候可以对elif和else进行优化,少写几个分支。比如我上面的例子,有些就可以优化。但是,这是有利有弊的。优化了的分支显得更简洁,但不够直观,有时候时间长了,自己再看都不一定能一下转过弯来。因此,个人建议,在保持正确执行逻辑的前提下,尽量按符合我们人类思维和阅读习惯的方式,编排if、elif和else分支



评论总数: 0