if语句详细说明
if语句的公式如下:
if 条件测试:#冒号!!千万别忘记
指令#一定要空四格,一般都会自动缩进,如果没有自动缩进要小心你是不是忘了冒号
例如:
age=19
if age>=18:
print('you are old enough to vote')
结果是:
you are old enough to vote
如果age小于18则python不会有任何输出
用if-else 语句执行不同结果的操作
有时候不同的结果要用不同的处理方式,if无法胜任这个工作,因此这时候就要用到 else
例如:
age=18
if age>=18:
print('you are old enough to vote')
else:
print('you are too young to vote')
结果是:
you are old enough to vote
又比如:
age=17
if age>=18:
print('you are old enough to vote')#当age大于等于18的时候就打这行字
else:#否则就打以下这行字
print('you are too young to vote')
结果是:
you are too young to vote
上面的例子原理基本是,当结果为True的时候进入if语句下的指令,如果是False的时候就进入else语句下的指令。
注意,冒号千万不能忘记!!
if-elif-else,用elif来处理多个条件问题
例如:
某游乐场规定:
4岁以下的孩子不需要买票
4-18要10元
18岁以上要20元
age=14
if age
print('you are free')
elif age
print('your admission cost 10 yuan')
else:
print('your admission cost 20 yuan')
结果是:
your admission cost 10 yuan
在这里还可以用另一种方法:
age=50
price=0
elif age
price=5
else:
price=10
print('your admission cost in '+str(price)+'.')#这里为什么要用str()要心里有数
结果是:
your admission cost in 10.
这个代码其实还可以改一下,在数字上直接加引号,结果可以去掉str()直接用price。
如果条件比较多的时候,有时候给所有的变量加引号会很麻烦,这时候直接在结尾处用str()将函数变量改为字符串,这样就会轻松很多。
多个elif
我们在日常处理的过程中经常会遇到多个条件,有时候if、elif、else这三个是不够用的,这时候我们可以用elif来添加判断条件。如下所示:
age=50
price=0
elif age
price=5
elif age
price=10
else :
price=5
print('your admission cost in '+str(price)+'.')
结果是:
your admission cost in 10.
省略else
age=65
price=0
elif age
price=5
elif age
price=10
elif age>=65 :#这里用大于等于是因为上面的是小于65,如果没有等于的话65这个数字就被所有的条件所排除了
price=5
print('your admission cost in '+str(price)+'.')
结果是:
your admission cost in 5.
else这个代码只要是不满足if和elif以外所有的条件都会被包含进来,因此有时候如果逻辑不清晰的话会运行进很多不必要的东西,所以这里用elif更加清晰和稳健。
当然,如果你的代码里面信息有限,不怕信息窜入的话,用else也无所谓,这个没有绝对,要根据实际情况。
用if测试多个条件
if-elif-else的组合主要是为了一些列的条件筛选和测试,最后一般只有得出一个结果,而有时候你关心很多个结果,每个结果都是独立存在的,那么这时候就要创建很多个 if 条件。
favorite_food=['apple','banana','bread']
list=favorite_food
if 'apple' in list:#引号一定要!!一定不能省略
print('adding apple')
if 'banana' in list:
print('adding banana')
if 'bread' in list:
print('adding bread')
if 'water' in list:
print('adding water')
print('\nhave fun')
结果是:
adding apple
adding banana
adding bread
have fun
这个代码里面我有点偷懒,因为favorite_food太长了,所以我索性赋给list这个比较短的词语。大家不要学我哈~
然后我用if语句将列表里面的元素一个个的试,看每个元素在不在列表里头,如果在就打印出相应的内容。
很显然,前三个if语句都通过了,而最后一个water因为不在列表中,因此if语句最后的判断是False,因此不执行任何指令。
作业:
1、创建一个if语句,要求里面必须有if、elif、以及else
2、创建一个起码拥有两个elif模块的代码
3、省略else,用elif精确表达条件判断
4、创建一个if语句测试多个条件的代码
领取专属 10元无门槛券
私享最新 技术干货