假设网站现在有100个充值用户,现在要给充值1000元以上的大客户返现,那么就需要在程序里进行判断。这就用到了条件判断语句。
一、if语句
1.if语句长相:
if条件表达式:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
2.if语句结构
以关键字if开始,后面紧接条件表达式,然后用英文冒号结束,假如表达式的值为真,那么就会执行if语句块里面的语句。
1)表达式:能够计算出一个值的式子,if语句中的表达式为真一般就是指通过bool计算 (bool是个函数,比如bool(0)就是假)后结果为True的就是真否则为假(False)。
2)语句块:python代码块,就是你要做的事,可以是一行或多行代码
# ‐*‐ coding: utf‐8 ‐*‐
chePiao = 1 # 用1代表有车票,0代表没有车票
daoLenght = 9 # 刀子的长度,单位为cm
if chePiao == 1:
print("有车票,可以进站")
if daoLenght < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
D:installpython3python.exe D:/pyscript/python3_script/test66.py
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
Process finished with exit code 0
3.python如何计算真假?-
1)数据类型的真假
对于整数,只有0为假,所有非零整数都是真
对于浮点数,只有0.0为假,所有非零浮点数都是真
对于字符串,只有空字符串为假,所有非空字符串都为真
对于列表,只有空列表为假,所有非空列表都为真
对于元组,只有空元素为假,所有非空元组都为真
对于字典和集合也是一样的
None和False为假,True为真
2)使用比较运算符计算真假
比较运算符主要是用来比较两个变量之间的关系
>、>=、<、<=、==、!=
3)使用逻辑运算符(python中用了and、or、not)比较真假
and(表示与),只有两边都为真才为真
or(表示或),只要其中一个为真就是真,只有两个都为假的时候才是假
not(表示非),真为假,假为真
二、else语句
if条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
...(省略)...
当if条件为假的时候就执行else中的语句,else一定要跟if是对齐的,否则就报缩进错误。
# ‐*‐ coding: utf‐8 ‐*‐
score=88
if score > 90:
print('本次考试,牛逼')
else:
print('垃圾')
D:installpython3python.exe D:/pyscript/python3_script/test66.py
垃圾
Process finished with exit code 0
三、elif语句
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
# ‐*‐ coding: utf‐8 ‐*‐
score=88
if score > 90:
print('本次考试,牛逼')
elif score >80:
print('本次考试A')
elif score >70:
print('本次考试B')
D:installpython3python.exe D:/pyscript/python3_script/test66.py
本次考试A
Process finished with exit code 0
四:if elif else语句
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
else:
滚犊子
假如都不满足的时候,才会执行最后的else语句
注意:elif必须和if一起使用,否则出错;else永远放在最后
# ‐*‐ coding: utf‐8 ‐*‐
score=30
if score > 90:
print('本次考试,牛逼')
elif score >80:
print('本次考试A')
elif score >70:
print('本次考试B')
else:
print('交钱退学')
D:installpython3python.exe D:/pyscript/python3_script/test66.py
交钱退学
Process finished with exit code 0
五、条件语句嵌套问题
if语句是可以嵌套的,每层嵌套都是通过缩进来进行区分的,因此一定要保证缩进的统一,否则就会乱掉了。
if条件1:
满足条件1做的事情1
满足条件1做的事情2
...(省略)...
if条件2:
满足条件2做的事情1
满足条件2做的事情2
...(省略)...
# ‐*‐ coding: utf‐8 ‐*‐
num = int(input("输入一个数字:"))
if num % 2 == 0:
if num % 3 == 0:
print("你输入的数字可以整除 2 和 3")
else:
print("你输入的数字可以整除 2,但不能整除 3")
else:
if num % 3 == 0:
print("你输入的数字可以整除 3,但不能整除 2")
else:
print("你输入的数字不能整除 2 和 3")
1)外层的if判断,也可以是if-else
2)内层的if判断,也可以是if-else
3)理论上是支持无限嵌套的,但是嵌套太多会影响代码的可读性以及运行效率,实际开发中并不建议使用过多的嵌套,一般最多3层就够了。
if语句执行是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else.
所以,请测试并解释为什么下面的程序打印的是teenager
# ‐*‐ coding: utf‐8 ‐*‐
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')