二、python 之逻辑运算和制流程语句
- 逻辑运算
- 控制流程语句
- 条件语句(if语句)
- 循环结构(for循环、while循环)
- continue、break和pass关键字
- 控制流程语句的嵌套以及elif
- 更多实战项目可进入下方官网
逻辑运算
Python提供基本的逻辑运算:不仅包括布尔运算(and、or、not),还包括比较运算符(==、!=、<、>、<=、>=),用于比较两个值之间的关系。这些运算符用于判断表达式是否为真或为假,从而进行条件判断。
逻辑运算规则如下表所示(其中x=1,y=2):
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
and | 与运算 | True and False | False |
or | 或运算 | True or False | True |
not | 非运算 | not True | False |
== | 等于 | x == y | False |
!= | 不等于 | x != y | True |
< | 小于 | x < y | True |
> | 大于 | x > y | False |
<= | 小于等于 | x <= y | True |
>= | 大于等于 | x >= y | False |
在python中我们可以通过一下代码来试下逻辑运算:
# 比较运算符示例
x = 1
y = 2
# 逻辑与(and)
result_and = True and False # 结果为 False
# 逻辑或(or)
result_or = True or False # 结果为 True
# 逻辑非(not)
result_not = not True # 结果为 False
# 等于:x是否等于y
result_equal = x == y # 结果为 False
# 不等于:x是否不等于y
result_not_equal = x != y # 结果为 True
# 小于:x是否小于y
result_less_than = x < y # 结果为 True
# 大于:x是否大于y
result_greater_than = x > y # 结果为 False
# 小于等于:x是否小于等于y
result_less_equal = x <= y # 结果为 True
# 大于等于:x是否大于等于y
result_greater_equal = x >= y # 结果为 False
控制流程语句
对于新手小白来说熟练知道python控制流程语句包括条件语句(if语句)和循环结构(for循环和while循环),就够用了
条件语句(if语句)
条件语句用于根据不同的条件选择性地执行不同的代码块。最常见的条件语句是if语句,它用于判断一个条件是否为真,然后执行相应的代码。
以下是一个简单的if控制条件:
其对应的代码示例:
# 定义年龄变量
age = 18
# 判断年龄是否大于等于18
if age >= 18:
# 输出成年了
print("成年了")
else:
# 不满足if进入else输出未成年
print("未成年")
循环结构(for循环、while循环)
- for循环
for循环用于遍历一个序列(如列表、字符串等)中的元素,并执行相应的操作。
# for循环 列表示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
以上代码运行结果:
# for循环 字符串示例
fruit = 'apple'
for i in fruit:
print(i)
以上代码运行结果:
也可以结合range()函数来进行数字的迭代:
# 使用range()的for循环
for i in range(5):
# 这里会输出0,1,2,3,4
print(i)
以上代码运行结果:
- while循环
while循环会重复执行一段代码,直到指定的条件不再满足。
# while循环示例
count = 0
while count < 5:
print(count)
count += 1
以上代码运行结果:
continue、break和pass关键字
- continue关键字用法
continue关键字跳过当前循环的剩余语句,进行下一轮循环
[‘apple’, ‘banana’, ‘orange’],这里面我不喜欢吃banana,所以我要跳过banana,通过continue关键字就可以实现,代码示例:
# for循环 continue示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
if fruit == 'banana':
#如果fruit等于banana就跳过
continue
print(fruit)
以上代码运行结果:
- break关键字用法
break关键字用来终止循环语句,强制停止当前的循环结构。
[‘apple’, ‘banana’, ‘orange’],这里面我非常讨厌banana,遇到banana,后面的全部都不想要啦!可以通过break关键字来实现,代码示例:
# for循环 break示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
if fruit == 'banana':
#如果fruit等于banana就结束
break
print(fruit)
以上代码运行结果:
- pass关键字用法
充当代码块的占位符,如果还没想好怎么处理banana,我们就可以先放个占位符,代码示例:
# for循环 pass示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
if fruit == 'banana':
# 如果fruit等于banana就啥也不干
pass
print(fruit)
以上代码运行结果:
小伙伴想问,如果不放pass会怎么样,会语法错误!因为 : 后面表示新的下一级代码块,必须要有点东西,这个时候就可以用pass占位置啦。
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
if fruit == 'banana':
print(fruit)
控制流程语句的嵌套以及elif
这里我们有一个需求,18岁以上输出成年,18岁以下输出未成年,3岁以下输出小屁孩。
- 方案一:嵌套控制
我们可以将需求理解成一下流程图:
其对应的代码示例:
# 定义年龄变量
age = 2
# 判断年龄是否大于等于18
if age >= 18:
# 输出成年了
print("成年了")
else:
# 不满足if进入else输出未成年
if age <= 3:
print("小屁孩")
else:
print("未成年")
其代码运行结果就是:小屁孩
- 方案二:引入elif概念
elif的作用是当if语句的条件为假时,检查下一个条件是否为真,如果为真则执行相应的代码块,否则继续检查下一个条件或执行else块中的代码(如果有的话)。
根据上面需求,示例代码:
# 定义年龄变量
age = 2
# 判断年龄是否大于等于18
if age >= 18:
# 输出成年了
print("成年了")
elif age <= 3:
print("小屁孩")
else:
print("未成年")
在代码示例中:
- 如果年龄大于等于18,会输出:“成年了”
- 如果年龄小于等于3,会输出:“小屁孩”
- 如果年龄既不大于等于18,也不小于等于3,会输出:“未成年”
其代码运行结果就是:小屁孩