入门 Python 语言:流程控制语句
目录
✨前言✨
本系列文章目的在于将 Python 的基础内容完全夯实,最终目的是为后期的深度学习在算法上有一定的铺垫,前期在学习数学的过程中也会有很大的帮助,相对于 C++ 来说 Python 有自身的优势,文末会有 Python 的优势对比于 C++ 的维度点说明,我已经先写过 C++的基础使用 了,两种语言各自有各自的优势,我们要根据具体的需求来分析使用哪种语言更为方便,其它的语言暂时不在考虑范畴之内,我们的目标是AI深度学习。
前置环境与代码结构文章:
📚本篇目标
- 让初学者了解 Python 中条件语句和循环语句的基本概念和作用。
- 掌握 if、if - else、if - elif - else 条件语句的使用方法。
- 学会运用 for 循环和 while 循环来实现重复执行代码的功能。
- 理解 break 和 continue 循环控制语句的用途,并能在循环中正确使用。
🔥重难点说明
重点
- 条件语句的逻辑判断和不同分支的执行流程。
- 循环语句的使用场景和执行机制,包括 for 循环对可迭代对象的遍历和 while 循环基于条件的重复执行。
- 循环控制语句break 和 continue 对循环执行流程的影响。
难点
- 复杂条件判断下 if - elif - else 语句的正确使用和逻辑处理。
- 在嵌套循环中合理运用 break 和 continue 语句,避免出现逻辑错误。
📖学习正文
条件语句
if 语句
if 语句用于根据条件判断是否执行特定的代码块。如果条件为 True,则执行 if 语句块中的代码;否则跳过该代码块。
age = 18
if age >= 18:
print("你已经成年了。")
执行效果:
你已经成年了。
if - else 语句
if - else 语句在条件为 True 时执行 if 代码块,条件为 False 时执行 else 代码块。
age = 16
if age >= 18:
print("你已经成年了。")
else:
print("你还未成年。")
执行效果:
你还未成年。
if - elif - else 语句
if - elif - else 语句用于处理多个条件的情况,依次检查条件,当某个条件为 True 时,执行对应的代码块,其余代码块不再检查。如果所有条件都为 False,则执行 else 代码块(如果有)。
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
执行效果:
良好
循环语句
for 循环
for 循环用于遍历可迭代对象(如列表、元组、字符串等)中的每个元素。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
执行效果:
apple
banana
cherry
while 循环
while 循环在条件为 True 时会不断执行代码块,直到条件变为 False。
count = 0
while count < 3:
print(count)
count = count + 1
执行效果:
0
1
2
循环控制(break、continue)
break 语句
break 语句用于立即终止循环,跳出循环体。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
if fruit == "banana":
break
print(fruit)
执行效果:
apple
continue 语句
continue 语句用于跳过当前循环的剩余代码,直接进入下一次循环。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num)
执行效果:
1
2
4
5
💻练习题
单选题-5
1. 以下哪个是 Python 中 if
语句的正确语法?
A. if (condition):
B. if condition:
C. if [condition]:
D. if {condition}:
2. 执行以下代码,输出结果是?
x = 5
if x > 10:
print("大于 10")
else:
print("小于等于 10")
A. 大于 10
B. 小于等于 10
C. 无输出
D. 报错
3. 对于 for
循环,以下哪种说法是正确的?
A. 只能遍历列表
B. 只能遍历字符串
C. 可以遍历任何可迭代对象
D. 只能遍历整数
4. 执行以下代码,输出结果是?
i = 0
while i < 3:
if i == 1:
break
print(i)
i = i + 1
A. 0
B. 0 1
C. 0 1 2
D. 无输出
5. 在 for 循环中,continue 语句的作用是?
A. 终止整个循环
B. 跳过本次循环的剩余代码,进入下一次循环
C. 结束当前的 if 语句
D. 暂停循环一段时间
多选题-3
1. 以下属于 Python 条件语句的有?
A. if
B. if - else
C. if - elif - else
D. while
2. 以下关于 while 循环的说法正确的是?
A. 只要条件为 True,就会一直执行循环体
B. 循环体中必须有改变条件的语句,否则可能导致无限循环
C. 可以使用 break 语句终止 while 循环
D. 不能使用 continue 语句
3. 在 Python 中,哪些可迭代对象可以使用 for 循环遍历?
A. 列表
B. 元组
C. 字符串
D. 字典
判断题-2
1. 在 if - elif - else 语句中,else 语句块是可选的。( )
2. break 语句只能在循环语句中使用。( )
代码题-1
编写一个 Python 程序,使用 for 循环打印出 1 到 10 之间的所有偶数。
📝答案解析
单选题
- 答案:B
- 在 Python 中,if 语句的正确语法是 if condition:,不需要括号、方括号或花括号,所以选 B。
- 答案:B
- 变量 x 的值为 5,5 > 10 条件为 False,所以执行 else 代码块,输出 “小于等于 10”,选 B。
- 答案:C
- for 循环可以遍历任何可迭代对象,包括列表、元组、字符串、字典等,不局限于某一种类型,所以选 C。
- 答案:A
- 当 i 等于 0 时,满足 i < 3 条件,进入循环,由于 i 不等于 1,打印 i 的值 0,然后 i 加 1 变为 1;当 i 等于 1 时,满足 i < 3 条件,但此时 i == 1 条件为 True,执行 break 语句,终止循环,所以只输出 0,选 A。
- 答案:B
- continue 语句的作用是跳过本次循环的剩余代码,直接进入下一次循环,所以选 B。
多选题
- 答案:ABC
- if、if - else、if - elif - else 都属于 Python 的条件语句,而 while 是循环语句,所以选 ABC。
- 答案:ABC
- while 循环只要条件为 True 就会一直执行循环体;为了避免无限循环,循环体中通常需要有改变条件的语句;可以使用 break 语句终止 while 循环;也可以使用 continue 语句跳过本次循环的剩余代码,所以选 ABC。
- 答案:ABCD
- 列表、元组、字符串和字典都是可迭代对象,都可以使用
for
循环遍历,所以选 ABCD。
- 列表、元组、字符串和字典都是可迭代对象,都可以使用
判断题
- 答案:正确
- 在 if - elif - else 语句中,else 语句块不是必须的,可以只使用 if 和 elif 部分,所以该说法正确。
- 答案:正确
- break 语句的作用是终止循环,只能在循环语句(for 循环和 while 循环)中使用,所以该说法正确。
代码题
for i in range(1, 11):
if i % 2 == 0:
print(i)
使用 range(1, 11) 生成 1 到 10 的整数序列,然后通过 if 语句判断每个数是否为偶数,如果是则打印出来。
总结
本文详细介绍了 Python 中的流程控制语句,包括条件语句(if、if - else、if - elif - else)和循环语句(for 循环、while 循环),以及循环控制语句(break、continue)。通过示例代码展示了它们的使用方法和执行效果。练习题帮助我们巩固了所学知识,加深了对流程控制语句的理解和运用。希望初学者能够熟练掌握这些语句,编写出更复杂、更灵活的 Python 程序。
Python的优势对比于 C++ 的维度点说明
对比维度 | Python 优势 | C++ 情况 |
---|---|---|
性能效率 | 1. 开发效率高:代码简洁,语法灵活,能够用较少的代码实现相同的功能,缩短开发周期。 2. 有高性能库支持:对于计算密集型任务,可以使用如 NumPy、Pandas 等高性能库,它们底层使用 C 或 Fortran 实现,能在一定程度上弥补 Python 执行速度慢的问题。 | 1. 开发效率低:代码相对冗长,需要编写更多的代码来实现相同功能,开发周期较长。 2. 开发难度大:需要手动管理内存,容易出现内存泄漏等问题,对开发者要求较高。 |
底层控制能力 | 1. 代码编写简单快速:无需关注底层硬件细节,能让开发者更专注于业务逻辑的实现,快速搭建应用原型。 2. 适合快速迭代开发:在应用开发过程中,能够快速对代码进行修改和调整,适应不断变化的需求。 | 1. 代码编写复杂:需要对底层硬件有深入了解,编写代码时要处理很多底层细节,开发难度大。 2. 开发周期长:由于需要关注底层,代码的修改和调整相对困难,不适合快速迭代开发。 |
语言特性 | 1. 语法简洁易懂:代码可读性高,易于学习和上手,降低了编程门槛,适合初学者。 2. 动态类型灵活:在编写代码时无需提前声明变量类型,能够根据需要灵活赋值,提高了代码的编写效率。 | 1. 语法复杂:学习成本较高,对于初学者来说有一定难度。 2. 静态类型不够灵活:在编写代码时需要提前声明变量类型,不够灵活,修改代码时可能需要对类型进行调整。 |
可移植性 | 1. 跨平台部署方便:只要安装了相应的 Python 解释器,代码可以在不同操作系统上轻松运行,无需重新编译。 2. 云服务支持好:很多云服务平台都提供了 Python 运行环境,方便将 Python 应用部署到云端。 | 1. 跨平台编译麻烦:不同操作系统的编译器和运行时环境可能存在差异,需要针对不同平台进行编译和调试。 2. 云服务集成复杂:将 C++ 应用部署到云服务平台时,需要处理更多的底层配置和依赖问题。 |
生态系统和工具链 | 1. 库丰富且易用:拥有大量的开源库和框架,涵盖了数据分析、机器学习、Web 开发等多个领域,能够快速实现各种功能。 2. 社区活跃:有庞大的开发者社区,遇到问题可以很容易找到解决方案和技术支持。 | 1. 库学习成本高:虽然有很多专业级库,但部分库的学习曲线较陡,使用起来有一定难度。 2. 社区相对较小:相比 Python 社区,C++ 社区规模相对较小,获取技术支持和解决方案的渠道相对较少。 |
安全性和稳定性 | 1. 内置安全机制:有一些内置的安全机制,如异常处理机制,能够在程序出现错误时进行捕获和处理,避免程序崩溃。 2. 代码审查相对容易:简洁的语法和动态类型使得代码结构相对简单,在代码审查时更容易发现问题。 | 1. 手动管理易出错:手动管理内存和资源容易出现错误,如内存泄漏、悬空指针等,影响程序的稳定性和安全性。 2. 代码审查复杂:由于语法复杂,代码结构可能比较复杂,在代码审查时需要花费更多的时间和精力。 |