Python基础教程:控制流与函数入门 - 第4-6天
关键要点
- 控制流的核心作用:条件语句和循环使程序能够根据条件做出决策并重复执行任务。
- 函数的重要性:函数帮助组织代码,提高可读性和可维护性,是编写复杂程序的基础。
- 适合初学者:本教程通过简单示例和比喻,适合零基础学习者掌握Python控制流和函数。
- 后续学习:下一主题将介绍数据结构,帮助更高效地处理数据。
简介
在编程中,控制流和函数是构建动态程序的基石。控制流允许程序根据输入或状态选择执行路径或重复执行任务,而函数则将代码组织成可重用的模块,使程序更清晰、更易于维护。本教程将通过三天的学习计划,详细讲解Python中的条件语句、循环和函数,适合初学者。通过代码示例和直观的比喻,您将快速掌握这些核心概念。
第4天:条件语句
条件语句简介
条件语句让程序根据特定条件执行不同的代码块。在Python中,if语句是最常用的控制流工具,通过布尔表达式(值为True或False)决定执行路径。布尔表达式可以包含比较运算符(如>,<,==,!=)和逻辑运算符(如and,or,not)。
语法
Python的条件语句包括以下形式:
- 基本if语句:
if条件:# 条件为真时执行- if-else语句:
if条件:# 条件为真时执行else:# 条件为假时执行- if-elif-else语句:
if条件1:# 条件1为真时执行elif条件2:# 条件1为假且条件2为真时执行else:# 所有条件为假时执行执行流程
条件语句的执行流程如下:
- 评估条件(布尔表达式)。
- 如果条件为
True,执行if块代码,然后跳过后续分支。 - 如果条件为
False,检查elif条件(若有),或执行else块(若有)。 - 继续执行后续代码。
流程描述:
- 开始
- 评估条件
- 若条件为真,执行
if块,然后结束 - 若条件为假,检查
elif或执行else块,然后结束 - 结束
代码示例
以下示例展示条件语句的实际应用:
示例1:检查数字奇偶性
number=10ifnumber%2==0:print("偶数")else:print("奇数")输出:偶数
示例2:根据分数确定等级
score=85ifscore>=90:print("A")elifscore>=80:print("B")elifscore>=70:print("C")else:print("D")输出:B
示例3:判断闰年
闰年的规则是:年份能被4整除但不能被100整除,或能被400整除。
year=2024if(year%4==0andyear%100!=0)or(year%400==0):print("闰年")else:print("非闰年")输出:闰年
常见问题
- 缩进错误:Python使用缩进来定义代码块,
if语句后的代码必须缩进(通常4个空格)。 - 使用=代替==:
=是赋值运算符,==是比较运算符。使用if x = 5会导致语法错误。
练习
- 编写程序,检查输入的年龄是否允许投票(>=18)。
- 创建一个程序,根据输入的温度(摄氏度)输出“冷”(<10)、“适中”(10-25)或“热”(>25)。
第5天:循环语句
循环简介
循环允许程序重复执行代码块,适合处理重复任务。Python提供两种循环:for循环和while循环。
for循环
for循环用于遍历序列(如列表、元组、字符串)或通过range()生成数值序列,适合已知迭代次数的场景。
语法:
for元素in序列:# 代码执行流程:
- 从序列中获取第一个元素,赋值给循环变量。
- 执行循环体。
- 获取下一个元素,重复直到序列结束。
示例1:遍历列表
fruits=["苹果","香蕉","樱桃"]forfruitinfruits:print(fruit)输出:
苹果 香蕉 樱桃示例2:使用range()
foriinrange(0,10,2):print(i)# 打印偶数0到8输出:
0 2 4 6 8说明:range(start, stop, step)生成从start到stop-1的序列,步长为step。
while循环
while循环在条件为真时持续执行,适合未知迭代次数的场景。
语法:
while条件:# 代码执行流程:
- 评估条件。
- 如果条件为
True,执行循环体,然后重新评估条件。 - 如果条件为
False,退出循环。
示例1:打印1到5
i=1whilei<=5:print(i)i+=1输出:
1 2 3 4 5示例2:猜数字游戏
number=7guess=0whileguess!=number:guess=int(input("猜一个数字: "))ifguess<number:print("太低了")elifguess>number:print("太高了")print("正确!")for与while的对比
| 特性 | for循环 | while循环 |
|---|---|---|
| 用途 | 遍历已知序列或固定次数 | 条件驱动,未知迭代次数 |
| 语法 | for x in seq: | while condition: |
| 风险 | 较少出现无限循环 | 需确保条件最终为假 |
| 示例场景 | 遍历列表、字符串 | 等待用户输入 |
控制循环
- break:提前退出循环。
- continue:跳过当前迭代,继续下一次。
示例:
foriinrange(10):ifi==5:break# 退出循环ifi%2==0:continue# 跳过偶数print(i)# 打印1, 3常见问题
- 无限循环:在
while循环中,若条件始终为真(如忘记更新循环变量),程序将无限运行。 - 缩进错误:循环体必须正确缩进。
练习
- 使用
for循环计算1到100的和。 - 编写
while循环,打印10到1的倒计数。
第6天:函数
函数简介
函数是一段命名的代码块,执行特定任务,可通过参数接收输入并返回结果。函数提高代码的模块化、可读性和可维护性。
定义与调用
定义语法:
def函数名(参数):# 代码return值# 可选调用:
函数名(参数)比喻:函数就像烹饪食谱,包含名称、输入(食材)和步骤,输出结果(菜肴)。例如,制作蛋糕的食谱需要面粉和糖(参数),按照步骤混合烘焙(代码),最终得到蛋糕(返回值)。
执行流程:
- 调用函数,传递参数。
- 执行函数体。
- 返回结果(若有)并继续程序。
代码示例
示例1:计算两数之和
defadd(a,b):returna+b result=add(3,5)print(result)# 输出: 8示例2:默认参数
defgreet(name="世界"):print(f"你好,{name}!")greet()# 输出: 你好,世界!greet("Alice")# 输出: 你好,Alice!示例3:返回多个值
defcalculate(a,b):sum=a+b diff=a-breturnsum,diff s,d=calculate(10,5)print(s)# 15print(d)# 5示例4:函数调用其他函数
defgreet(name):returnf"你好,{name}!"defask_name():name=input("你叫什么名字? ")returnnamedefmain():name=ask_name()message=greet(name)print(message)main()参数类型
- 位置参数:按顺序传递,如
add(3, 5)。 - 关键字参数:指定参数名,如
add(b=5, a=3)。 - 默认参数:提供默认值,如
greet(name="世界")。 - 可变参数(高级,初学者可稍后学习):
defsum_all(*args):returnsum(args)print(sum_all(1,2,3))# 输出: 6
最佳实践
- 命名清晰:函数名应描述其功能,如
calculate_area而非ca。 - 单一职责:每个函数应专注于单一任务。
- 注释文档:为复杂函数添加文档字符串:
defadd(a,b):"""返回两个数的和"""returna+b
练习
- 编写函数,计算矩形的面积(长×宽)。
- 创建函数,判断输入的数字是否为素数。
结语
控制流和函数是Python编程的核心。条件语句和循环使程序能够动态响应不同情况,函数则通过模块化提高代码效率和可维护性。掌握这些概念后,您将能够编写更复杂和实用的程序。下一部分将介绍数据结构(如列表、字典的深入用法),帮助您更高效地管理数据。
为了加深理解,建议尝试以下练习:
- 编写一个程序,判断输入的数字是正数、负数还是零。
- 使用
for循环计算1到100的和。 - 创建一个函数,计算矩形的面积并返回结果。
关键引用
- Python Official Documentation: Control Flow
- Python Official Documentation: Defining Functions
学习是通往智慧高峰的阶梯,努力是成功的基石。
我在求知路上不懈探索,将点滴感悟与收获都记在博客里。
要是我的博客能触动您,盼您点个赞、留个言,再关注一下。
您的支持是我前进的动力,愿您的点赞为您带来好运,愿您生活常暖、快乐常伴!
希望您常来看看,我是 秋声,与您一同成长。
秋声敬上,期待再会!