当前位置: 首页 > news >正文

Python基础教程:控制流与函数入门 - 第4-6天

Python基础教程:控制流与函数入门 - 第4-6天

在这里插入图片描述

关键要点

  • 控制流的核心作用:条件语句和循环使程序能够根据条件做出决策并重复执行任务。
  • 函数的重要性:函数帮助组织代码,提高可读性和可维护性,是编写复杂程序的基础。
  • 适合初学者:本教程通过简单示例和比喻,适合零基础学习者掌握Python控制流和函数。
  • 后续学习:下一主题将介绍数据结构,帮助更高效地处理数据。

简介

在编程中,控制流和函数是构建动态程序的基石。控制流允许程序根据输入或状态选择执行路径或重复执行任务,而函数则将代码组织成可重用的模块,使程序更清晰、更易于维护。本教程将通过三天的学习计划,详细讲解Python中的条件语句、循环和函数,适合初学者。通过代码示例和直观的比喻,您将快速掌握这些核心概念。
在这里插入图片描述

第4天:条件语句

条件语句简介

条件语句让程序根据特定条件执行不同的代码块。在Python中,if语句是最常用的控制流工具,通过布尔表达式(值为TrueFalse)决定执行路径。布尔表达式可以包含比较运算符(如>, <, ==, !=)和逻辑运算符(如and, or, not)。

语法

Python的条件语句包括以下形式:

  • 基本if语句
if 条件:# 条件为真时执行
  • if-else语句
if 条件:# 条件为真时执行
else:# 条件为假时执行
  • if-elif-else语句
if 条件1:# 条件1为真时执行
elif 条件2:# 条件1为假且条件2为真时执行
else:# 所有条件为假时执行

执行流程

条件语句的执行流程如下:

  1. 评估条件(布尔表达式)。
  2. 如果条件为True,执行if块代码,然后跳过后续分支。
  3. 如果条件为False,检查elif条件(若有),或执行else块(若有)。
  4. 继续执行后续代码。

流程描述

  • 开始
  • 评估条件
  • 若条件为真,执行if块,然后结束
  • 若条件为假,检查elif或执行else块,然后结束
  • 结束

在这里插入图片描述

代码示例

以下示例展示条件语句的实际应用:

示例1:检查数字奇偶性

number = 10
if number % 2 == 0:print("偶数")
else:print("奇数")

输出:偶数

示例2:根据分数确定等级

score = 85
if score >= 90:print("A")
elif score >= 80:print("B")
elif score >= 70:print("C")
else:print("D")

输出:B

示例3:判断闰年
闰年的规则是:年份能被4整除但不能被100整除,或能被400整除。

year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print("闰年")
else:print("非闰年")

输出:闰年

常见问题

  • 缩进错误:Python使用缩进来定义代码块,if语句后的代码必须缩进(通常4个空格)。
  • 使用=代替===是赋值运算符,==是比较运算符。使用if x = 5会导致语法错误。

练习

  1. 编写程序,检查输入的年龄是否允许投票(>=18)。
  2. 创建一个程序,根据输入的温度(摄氏度)输出“冷”(<10)、“适中”(10-25)或“热”(>25)。

第5天:循环语句

循环简介

循环允许程序重复执行代码块,适合处理重复任务。Python提供两种循环:for循环和while循环。

for循环

for循环用于遍历序列(如列表、元组、字符串)或通过range()生成数值序列,适合已知迭代次数的场景。

语法

for 元素 in 序列:# 代码

执行流程

  1. 从序列中获取第一个元素,赋值给循环变量。
  2. 执行循环体。
  3. 获取下一个元素,重复直到序列结束。

示例1:遍历列表

fruits = ["苹果", "香蕉", "樱桃"]
for fruit in fruits:print(fruit)

输出:

苹果
香蕉
樱桃

示例2:使用range()

for i in range(0, 10, 2):print(i)  # 打印偶数0到8

输出:

0
2
4
6
8

说明range(start, stop, step)生成从startstop-1的序列,步长为step

while循环

while循环在条件为真时持续执行,适合未知迭代次数的场景。

语法

while 条件:# 代码

执行流程

  1. 评估条件。
  2. 如果条件为True,执行循环体,然后重新评估条件。
  3. 如果条件为False,退出循环。

[此处插入while循环流程图:矩形“开始”连接到菱形“条件为真?”,若“是”指向“执行循环体”再回到菱形,若“否”指向“结束”]

示例1:打印1到5

i = 1
while i <= 5:print(i)i += 1

输出:

1
2
3
4
5

示例2:猜数字游戏

number = 7
guess = 0
while guess != number:guess = int(input("猜一个数字: "))if guess < number:print("太低了")elif guess > number:print("太高了")
print("正确!")

for与while的对比

特性for循环while循环
用途遍历已知序列或固定次数条件驱动,未知迭代次数
语法for x in seq:while condition:
风险较少出现无限循环需确保条件最终为假
示例场景遍历列表、字符串等待用户输入

控制循环

  • break:提前退出循环。
  • continue:跳过当前迭代,继续下一次。
    示例
for i in range(10):if i == 5:break  # 退出循环if i % 2 == 0:continue  # 跳过偶数print(i)  # 打印1, 3

常见问题

  • 无限循环:在while循环中,若条件始终为真(如忘记更新循环变量),程序将无限运行。
  • 缩进错误:循环体必须正确缩进。

练习

  1. 使用for循环计算1到100的和。
  2. 编写while循环,打印10到1的倒计数。

第6天:函数

函数简介

函数是一段命名的代码块,执行特定任务,可通过参数接收输入并返回结果。函数提高代码的模块化、可读性和可维护性。

定义与调用

定义语法

def 函数名(参数):# 代码return# 可选

调用

函数名(参数)

比喻:函数就像烹饪食谱,包含名称、输入(食材)和步骤,输出结果(菜肴)。例如,制作蛋糕的食谱需要面粉和糖(参数),按照步骤混合烘焙(代码),最终得到蛋糕(返回值)。

执行流程

  1. 调用函数,传递参数。
  2. 执行函数体。
  3. 返回结果(若有)并继续程序。

[此处插入函数流程图:矩形“调用函数”连接到“执行函数体”,再到“返回结果”,最后到“继续程序”]

代码示例

示例1:计算两数之和

def add(a, b):return a + b
result = add(3, 5)
print(result)  # 输出: 8

示例2:默认参数

def greet(name="世界"):print(f"你好,{name}!")
greet()  # 输出: 你好,世界!
greet("Alice")  # 输出: 你好,Alice!

示例3:返回多个值

def calculate(a, b):sum = a + bdiff = a - breturn sum, diff
s, d = calculate(10, 5)
print(s)  # 15
print(d)  # 5

示例4:函数调用其他函数

def greet(name):return f"你好,{name}!"
def ask_name():name = input("你叫什么名字? ")return name
def main():name = ask_name()message = greet(name)print(message)
main()

参数类型

  • 位置参数:按顺序传递,如add(3, 5)
  • 关键字参数:指定参数名,如add(b=5, a=3)
  • 默认参数:提供默认值,如greet(name="世界")
  • 可变参数(高级,初学者可稍后学习):
    def sum_all(*args):return sum(args)
    print(sum_all(1, 2, 3))  # 输出: 6
    

最佳实践

  • 命名清晰:函数名应描述其功能,如calculate_area而非ca
  • 单一职责:每个函数应专注于单一任务。
  • 注释文档:为复杂函数添加文档字符串:
    def add(a, b):"""返回两个数的和"""return a + b
    

练习

  1. 编写函数,计算矩形的面积(长×宽)。
  2. 创建函数,判断输入的数字是否为素数。
    在这里插入图片描述

结语

控制流和函数是Python编程的核心。条件语句和循环使程序能够动态响应不同情况,函数则通过模块化提高代码效率和可维护性。掌握这些概念后,您将能够编写更复杂和实用的程序。下一部分将介绍数据结构(如列表、字典的深入用法),帮助您更高效地管理数据。

为了加深理解,建议尝试以下练习:

  1. 编写一个程序,判断输入的数字是正数、负数还是零。
  2. 使用for循环计算1到100的和。
  3. 创建一个函数,计算矩形的面积并返回结果。

关键引用

  • Python Official Documentation: Control Flow
  • Python Official Documentation: Defining Functions

未觉池塘春草梦,阶前梧叶已秋声。

在这里插入图片描述
学习是通往智慧高峰的阶梯,努力是成功的基石。
我在求知路上不懈探索,将点滴感悟与收获都记在博客里。
要是我的博客能触动您,盼您 点个赞、留个言,再关注一下。
您的支持是我前进的动力,愿您的点赞为您带来好运,愿您生活常暖、快乐常伴!
希望您常来看看,我是 秋声,与您一同成长。
秋声敬上,期待再会!

http://www.xdnf.cn/news/717157.html

相关文章:

  • Vue的生命周期
  • 技术栈ES的介绍和使用
  • java每日精进 5.29【请求限流】
  • 7-Zip 工具使用
  • How to Initiate Back-to-Back Write Transactions from Master
  • DMBOK对比知识点整理(4)
  • 力扣HOT100之动态规划:118. 杨辉三角
  • 今日分享:怎么综合分析5星股票?
  • 【Unity博客节选】Playable Graph Monitor 安装使用
  • 安全帽检测算法AI智能分析网关V4守护工地/矿山/工厂等多场景作业安全
  • Accelerate实现多卡并行训练
  • Nexus仓库数据高可用备份与恢复方案(上)
  • MVCC(多版本并发控制)机制
  • Cangjie 中的值类型与引用类型
  • 设置变体控制两个apk, 一个是有密码,一个是没有密码!
  • 英语写作中“广泛、深入、详细地(的)”extensively、in-depth、at length (comprehensive )的用法
  • 46. Permutations和47. Permutations II
  • Spring Event(事件驱动机制)
  • 力扣面试150题--二叉树的右视图
  • leetcode hot100刷题日记——27.对称二叉树
  • ubuntu系统上运行jar程序输出时间时区不对
  • C#实现单实例应用程序:确保程序唯一运行实例
  • 算法第32天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 构筑电网“无形防线”: 防外破告警在线监测服务系统
  • 如何批量给局域网内网里的电脑发送信息
  • STM32 HAL库函数学习 GPIO篇
  • 【Redis】RDB和AOF混合使用
  • Java求职面试:从核心技术到AI与大数据的全面考核
  • 网络编程之网络编程预备知识
  • Python对接GPT-4o API接口:聊天与文件上传功能详解