为什么学习判断语句?
判断是程序最基础最核心的逻辑功能
进行判断只有两个结果,是和否,那么在程序中怎么表示是或者否呢?
在程序中使用布尔变量表示是或者否
布尔类型的字面量:
•True 表示真(是、肯定)
•False 表示假 (否、否定)
布尔类型不仅可以自行定义,同时也可以通过计算的来,也就是使用比较运算符进行比较运算得到布尔类型的结果。
如下代码:
result = 9 > 3
print(f"9 > 3的结果为:{result},类型为:{type(result)}") # 输出结果 9 > 3的结果为:True,类型为:<class 'bool'>
在实际使用中常常与运算符相关,具体运算符的使用及结果可以参考我之前的文章
在Python中,if
语句用于执行条件性的代码块。if
语句的基本语法是:
if condition:
# 执行满足条件时的代码块
else:
# 执行条件不满足时的代码块
else
部分是可选的,用于在条件不满足时执行一段代码。下面是一些例子,演示了 if
语句的使用:
if
判断语句
生活中的判断
如果——>则执行动作
程序中的判断
if 要判断的条件
条件成立时要做的事情
例如基本的 if
语句
x = 10
if x > 5:
print("x 大于 5")
在这个例子中,如果 x
大于 5,则执行输出x 大于 5,否则什么也不输出
判断语句的结果,必须是布尔类型True
或False
,True
会执行if内的代码语句,False
则不会执行
if语句的注意点:
if语句后面的冒号不要忘记
归属于if判断的代码语句块,需在前方填充4个空格缩进Python通过缩进判断代码块的归属关系。
例如
x = 10
if x > 5:
print("x 大于 5")
print("我不在if语句里面")
程序最后输出的结果为:
x 大于 5
我不在if语句里面
不论x为何值,都会输出我不在if语句里面
,因为这段代码不归属于if判断语句的代码块
if else
语句
if满足条件会执行相应的代码语句,如果不满足呢?
有没有不满足的情况下,可供执行的代码呢?
if else 语句可以实现 满足条件的情况下执行if语句后的代码块,不满足时执行else的代码块
例如基本的 if
else
语句
x = 10
if x > 5:
print("x 大于 5")
else:
print("x 不大于 5")
在这个例子中,如果 x
大于 5,则执行第一个代码块;否则,执行 else
部分的代码块。
注意:
-
else
后,不需要判断条件 -
和
if
的代码块一样,else
的代码块同样需要4个空格作为缩进 -
else
语句不能单独使用,必须配合if
语句使用
elif
语句处理多个条件
某些场景下,判断条件不止一个,可能有多个。这时使用简单的if else语句就不能实现要求,就需要使用if
elif
else
实现
例如基本的if
elif
else
语句
score = 75
if score >= 90:
print("优秀")
elif score >= 70:
print("良好")
else:
print("需要改进")
这个例子中,根据不同的分数范围输出不同的评价,使用了 elif
来处理多个条件。其中elif
语句可以有多个,else
语句只能有一个。判断是互斥且有序的,只要有一个条件满足了,余下的内容就不会执行了。如上述代码,第一个if条件不满足,紧接着判断elif,发现是满足条件的,所以剩下的else语句不会执行。
嵌套的 if
语句
if
elif
else
可以自由组合,满足缩进的要求即可,如:
num = 15
if num % 2 == 0:
print("偶数")
if num > 10:
print("且大于 10")
else:
print("奇数")
在这个例子中,有一个嵌套的 if
语句,它检查一个数字是否为偶数,并在满足条件时检查是否大于 10。
嵌套使用时,只有在满足前一个条件才会判断里面的条件是否满足,嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系
使用逻辑运算符组合多个条件
age = 25
income = 50000
if age < 30 and income > 30000:
print("符合条件")
else:
print("不符合条件")
这个例子中,使用了 and
逻辑运算符来组合两个条件,只有当年龄小于 30 且收入大于 30000 时才符合条件。
如果对你有所帮助,还请点赞支持一下!