在日常生活中,我们经常会遇到一些需要做到做决策的情况,然后在根据决策结果进行不同的结果进行不同的操作。例如,暑假到了,如果所有学科都考试及格的话,妈妈就根据提供经费让自己和朋友出国旅游;如果有某些科目挂科,暑假就要返校重修。程序设计也一样,常会根据不同情况进行不同的操作,这就是条件语句。
1、程序的执行方式有顺序方式及分支方式二种。顺序方式是程序代码由上往下依次执行,目前为止,我们前面接触的示例都是这种模式。程序设计也和日常生活相似,常会遇到一些需要做决策的情况,在根据决策结果来执行不同的程序代码,这种方式就是分支式执行。
python流程控制命令分为二大类:
a、条件:根据关系运算或逻辑运算的条件表达式来判断执行的流程,若条件表达式运算结 果为True,就执行跳跃。条件命令只有一个:
if ......elif.....else
b、循环:根据关系运算或逻辑运算条件表达式的结果为True或False来决定是否重复执行指定的程序。循环指令由二种:for 和 while(后面章节详讲)。
2、单向条件(if......)
"if...."为单向条件,是if指令中最简单的类型,语法为:
if(条件表达式): # 括号也可以移除,即 “if 条件语句:”
程序块
当条件表达式的值为True时,就会执行程序块的操作;当条件表达式为False时,则不会执行程序块的操作。
条件表达式可以是关系表达式(如“x>2"), 也可以是逻辑表达式(如"x>2 or x<5")。如果程序块内只要一行代码,则可以合并为一行,直接写成"if (条件表达式):代码"。
3、双向条件语句(if...else)
如果条件表达式不成立时也可以应该想用户提示某些信息,此时就通过“if...else"双向条件语句来实现。
”if...else..."双向条件语句语法为:
if (条件表达式):
程序块一
else:
程序块二
当条件表达式的值为True时,执行if后的程序块一;当条件表达式值为false时,执行else后程序后的程序块二。程序块中可以是一行或多行代码,如果程序块中的代码只有一行,可以合并为一行。
4、多条件语句(if...elif...else)
事实上,现实中大部分复杂的情况都不是一个条件就能解决的。例如,对于学生的成绩,不是单纯的及格与否,及格者还需要根据分数的高低分成不同的等级(优、良、及格)等,这时就要用到多条件语句“if...elif...else"
"if...elif...else"可在多项条件表达式中择一执行。如果条件表达式为True,就执行相应程序块;如果所有条件表达式都是False,则执行else后的程序块;若省略else,则条件表达式都是False时,将不执行任何操作。”if...elif...else"的语法如下:
if (条件表达式一):
程序块一
elif(条件表达式 二):
程序块二
elif (条件表达式三):
.....
else:
程序块
当“条件表达式一”为True时,执行程序块一,然后跳出if多项条件表达式;
“条件表达式一”为False时,则检查“条件表达式二”,若“条件表达式二
为True,执行程序块二,依次类推。如果所有条件表达式都是False,则执行else后的程序块。
5、条件嵌套
在条件语句(if...elif...else)之中,还可以包含条件,成为条件嵌套。系统并没有规定条件嵌套的层数,但层数太多会降低程序可读性,而且维护较苦难。