布尔值有真(True)或者假(False)两个。
为了使程序能够根据条件执行不同的语句,通常需要判断一个布尔值。
布尔表达式可以给出布尔值。比如就是一个布尔表达式,它会判断变量与变量是否相等。符号是一个比较运算符,若两个运算对象相等,则返回True;若两者不相等,则返回False。
还可以使用其他的比较运算符:
注意区分和,其中是赋值符号,而是比较运算符。
逻辑运算符包括与(and)、或(or)和非(not)三种,例如:
这个表达式只有为真,且同时为真时,整个表达式才为真。
条件执行
如果想要程序在某种情况下执行一些代码,可以使用if语句。
if语句结构如下:
一般是一个布尔表达式,当布尔表达式为真时执行语句块,否则不执行。
比如下面的例子:
上面的例子中,布尔表达式是,其值为真,因此执行下面的语句块——输出“x是正数.”。
函数将变量中的数字转换成字符串。
最后一行的语句在语句块之外,所以并不受的影响,正常执行。
可以在执行语句块中放入多条语句:
这个程序中变量最后的结果是3:
上面程序中if语句流程图如下:
分支执行
在上面的例子中,如果判断条件为真,则执行一些语句,否则什么都不执行。
如果要在判断条件为假的情况下执行一些语句,可以使用语句:
下面是一个例子:
由于的值为-1,所以的值为假(false),因此执行下面的语句块。
这个例子运行结果如下:
流程图如下:
嵌套条件
if语句可以嵌套使用:
流程图如下:
在本例中,由于表达式为假,所以执行部分:
由于表达式为真,所以输出“x 小于 y”。
下面是输出结果示例:
嵌套使用并没有什么特别之处,只是在if结构的执行语句块部分写了另一个if结构罢了。
还可以多层嵌套使用:
如果有很多个表达式需要判断,那么需要很多层嵌套,于是乎if...elif...else语句诞生了。
它的效果和if嵌套使用相同,只是缩进变得更简单。
下面是一个if...elif...else语句的例子:
如果有多个,那么只会和最后的配对。
下面是它用if嵌套实现的版本:
这两个程序执行效果完全相同,使用if...elif...else语句能使缩进少一些。
输出结果示例:
流程图如下:
领取专属 10元无门槛券
私享最新 技术干货