Python学习笔记——第二章 Python判断语句与循环语句
2.1 布尔类型与比较运算符
布尔类型底层为一位二进制,其中0
为假(false),1
为真(true);比较运算符则用于对我们需要的条件进行判断,他的返回结果为一个布尔值。
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 True。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 True。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 True。 |
使用举例
# 布尔变量与运算符
bool1 = True
bool2 = False
print(f"bool1:{
bool1}类型为{
type(bool1)},bool2:{
bool2}类型为{
type(bool2)}")
a = 10
b = 20
print(f"{
a}=={
b}:{
a == b}")
print(f"{
a}!={
b}:{
a != b}")
print(f"{
a}>{
b}:{
a > b}")
print(f"{
a}<{
b}:{
a < b}")
print(f"{
a}>={
b}:{
a >= b}")
print(f"{
a}<={
b}:{
a <= b}")
输出结果:
bool1:True类型为<class 'bool'>,bool2:False类型为<class 'bool'>
10==20:False
10!=20:True
10>20:False
10<20:True
10>=20:False
10<=20:True
2.2 if_elif_else
if_elif_else
为条件判定语句,代码形式一般如下:
if 条件一:
条件判定成功执行语句1
elif 条件二:
条件判定成功执行语句2
else:
条件均不满足则执行语句3
在上面的代码中,执行逻辑为:如果满足条件一则执行语句1,满足条件二则执行语句2,均不满足则执行语句3.
具体实例:
num1, num2 = input("Enter two num: ").split()
num1 = int(num1)
num2 = int(num2)
if num1 > num2:
print(num1, "is greater than", num2)
elif num1 < num2:
print(num1, "is less than", num2)
else:
print(num1, "is equal to", num2)
运行结果:
Enter two num: 10 11
10 is less than 11
Enter two num: 10 10
10 is equal to 10
Enter two num: 11 10
11 is greater than 10
2.3 match…case
match...case
类似于其它语言的switch...case
,match
后的对象会依次与 case
后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_
可以匹配一切内容。
match subject:
case <pattern_1>:
<action_1>
case <pattern_2>:
<action_2>
case <pattern_3>:
<action_3>
case _:
<action_wildcard>
使用举例:给用户提示输入三个套餐选择,根据输入匹配套餐
select = int(input("选择一个套餐:1. 套餐A 2.套餐B 3.套餐C\n"))
match select:
case 1:
print("套餐A")
case 2:
print("套餐B")
case 3:
print("套餐C")
case _:
print("输入错误")
选择一个套餐:1. 套餐A 2.套餐B 3.套餐C
1
套餐A
2.4 while循环
while
语句会让程序满足条件的情况下一直执行while内部的代码块,语法大致如下:
while 循环条件:
满足条件执行的代码块
使用举例:循环输出0~5
print("while循环0~5")
num = 0
while num <= 5:
print(num)
num += 1
输出结果:
while循环0~5
0
1
2
3
4
5
在循环最后可以加上一个else
语句,他将会在循环正常结束后执行,例如,在上面代码最后加上
else:
print("循环结束")
输出结果会变为
while循环0~5,最后提示循环结束
0
...
5
循环结束
2.5 for循环
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。他的基础语法结构如下(else语句可选):
for <临时变量> in <待处理数据集>:
<处理语句>
else:
<处理语句>
使用举例:
1.输出0~5
for num in range(0, 6):
print(num)
2.依次输出“Hello World”内的字符(输出结果会包含空格)
for w in "Hello World!":
print(w)
2.6 range函数
range函数可以让我们获得一个数字序列,它的语法如下:
range(num) #返回从0开始,num结束(不包括num)的数字序列
range(start, end) #返回从start开始,end结束(不包括end)的数字序列
range(start, end, step) #返回从start开始,end结束(不包括end),以step为步长递增的数字序列
这里只示例三个参数的使用及结果:
for a in range(0, 10, 3): #输出0到10,以3为步长增长的数字序列
print(a)
输出结果:
0
3
6
9
2.7 break和continue语句
循环语句中使用break或continue可以对满足某些条件的情况进行跳出循环或跳过后续语句的操作。
2.7.1 break
break可以直接使程序跳出当前循环语句,不再进行后续语句的操作,如果循环语句最后包含else,else也不会被执行。
for b in range(0, 10):
if b == 5: break
print(b)
else:
print("循环结束")
0
1
2
3
4
2.7.2 continue
continue可以让程序跳过这次循环中后续还没执行的语句,直接进行下一次循环。
# 输出0~10中的奇数
for b in range(0, 10):
if (b % 2) == 0: continue
print(b)
else:
print("循环结束")
1
3
5
7
9
循环结束