下面举了个例子,现实中经常遇到这种情况,说程序往往需要根据用户的输入做不同的事情,比如如果Bob给出的答案是正确的,我就给他加一分;然后,如果bela是个女孩儿,我就送给了她一朵花;或者还有一种情况,如果电话号码存在,我就去拨打电话,如果不存在,我就提示空号,这就是给出的一些错误的信息,其实在这里,有一个输入,根据不同的情况,会产生不同的分支,不同的分支,怎么用程序表达呢?我们看代码表达:
if bela是女孩:
给朵玫瑰
否则:
送其他人
这就是条件分支,如果条件成立,就执行if后面的语句,否则就执行分支语句。
缩进
讲解条件语句之前,我们需要先来了解Python的代码风格。
在讲条件语句的时候,我们中间先要插入一个叫做缩径。如果大家是在接触其他的语言,缩进它只是一种风格,缩进了之后,显得有层次感。
有层次感,无论你喜欢不喜欢的都可以缩紧,你可以缩径,也可以不缩紧,你看就简单来说,就是我们自己的书桌,我整理的很好,层次感都比较明显一些,比较轻一些,你不整理,你这个东西丢不了,也没有问题。就是说没有强制性的,而在我们Python里边则是不同的,代码的缩进是必不可少的。
必不可少的缩进,你间接的告诉python,代码是从哪开始到哪结束的!我们来看一个例子,这个例子,就拿我们前面经常举的例子,演示:
以上代码,如果print前面没有缩进,就会抱错,报错的内容就是expected an indented block,如下:
基础的条件判断
条件运算离不开数值的比较,这就需要比较运算符了。比较操作符是一种逻辑预算,结果为True或者False,常用的比较运算法。对于条件语句,分支有各种情况,怎么分支,怎么走,然后缩减,接下来我们来看比较操作符。
- ==: 比较是否相等操作符
- <: 左边是否小于右边
- >: 左边是否大于右边
- !=: 左边是否不等于右边
- >=: 左边是否大于或等于右边
- <=: 左边是否小于等于右边
使用示例:
如上代码,就是一个具有4个if语句的分支,首先输入第一个数,赋值到num1,然后输入第二个数,赋值为num2,最后通过if语句比较num1和num2。当第一个数和第二个数都输入1的时候,我们看到打印了1 = 1。这说明第3个if语句是成立的。
4个if语句其实没有必要,因为每个语句都需要一次检测,4个语句就是4次检测,但只有1个语句会成立。有没有更高效的方法呢,这就是if…elif…else…语句。于是,代码可以写成:
检测输入值,如果大于5,那就是5和10之间,如果不大于5,那就看你是不大于1,如果大于1的话就在1到5之间,所以一层一层往下走,这是elif的特点,那最后,输入-1,小于零,因此输出了 -1 <= 0。
多条件判断
多条件判断就是在条件语句中添加条件语句,是一种更为复杂的分支语句。那么,如何编写多条件判断语句呢?如下,使用示例:
age = int(input ("Enter your age:" ))
grade = int(input ("Enter your grade:" ))
if age >= 8:
if grade >= 3:
print ("you can play this game!")
else :
print("sorry,your grade can't play the game1" )
else :
print ("sorry,you can't play the game!" )
如上,多条件判断语句,出现了两重判断。对于这种嵌套if语句的代码,称之为多条件判断语句。对于上面的代码,要求输入年龄age,和成绩grade,如果年龄大于或者等于8,并且成绩大于或等于3的输入,将打印允许玩这个游戏的提示,否则提示未满足条件。结果:
如上,年龄输入20,成绩输入70,最终打印了you can play this game!大家也可以按照如上的代码自己修改运行分支语句的运行过程。
and操作
and关键字来结合多个条件, and 表示两个条件都必须为真才能执行下面的代码块。使用示例:
age = int(input ("Enter your age:" ))
grade = int(input ("Enter your grade:" ))
if age >= 18 and grade >= 60:
print ("you can play this game!")
else:
print ("sorry, you can't play this game!" )
如上代码,if后面通过and连接了两个条件语句,只有当两个条件语句都成立的时候,if下面的内容才会执行。
如上实例代码,当输入年龄为10,成绩为60的是,age >= 18和gradle >= 60,两个条件有一个不成立,因此,打印了sorry, you can’t play this game!
or运算
or关键字是把多个条件放在一起。如果使用 or ,只要任意一个条件满足就会执行代码块。使用示例:
age = int(input ("Enter your age:" ))
grade = int(input ("Enter your grade:" ))
if age >= 18 or grade >= 60:
print ("you can play this game!")
else:
print ("sorry, you can't play this game!" )
如上代码,将if语句中的and修改为or,就是说这两个满足一个就OK。那如果你的年龄达到,超过18,或者说你的成绩,大于60,就可以让他玩这个游戏。
not运算
可以用 not 把比较倒过来,表示相反的逻辑。如果原来的值为True,通过not运算就变成了False,如果原来的结果是False,not操作之后就变成True了。如下使用示例:
age = int(input ("Enter your age:" ))
if not(age <= 18 ):
grade = int(input("Enter your grade:"))
if grade >= 60:
print ("you can play this game!")
else :
print("sorry,your grade can't play the game1" )
else:
print ("sorry, you can't play this game!" )
如上代码,在第一个if语句中,我们将age < 18通过not进行了倒置。这就意味着,年龄大于或等于18的输入将执行if语句内的代码。
如上代码,当我们输入age为18的时候,age <= 18是True,not操作之后变成了False,因此执行了else里面的语句。
总结
本节给大家讲解了条件语句,逻辑操作符,以及多条件语法。使用的过程中,大家要严格注意Python的缩进!