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

Python 控制流语句:掌控程序执行的魔杖

在学习编程的过程中,掌握控制流语句是至关重要的一步。 它们就像魔杖一样,能够控制程序的执行流程,让程序能够根据不同的条件做出不同的反应,或者重复执行特定的代码块。 本文将带你了解 Python 中最常用的控制流语句,并通过简单的例子,让你轻松掌握它们的使用方法,开启你的编程之旅。

一、条件语句:让程序会思考 (if, elif, else)

条件语句允许程序根据不同的条件执行不同的代码块。 Python 提供了ifelifelse关键字来实现条件语句。

  • if语句:判断真假,决定是否执行

    if语句用于判断一个条件是否为真 (True)。 如果条件为真,则执行if语句后面的代码块;否则跳过该代码块。

    语法:

    if condition: # 如果 condition 为真,则执行这里的代码
  • elif语句:多重判断,层层递进

    elif语句 (else if 的缩写) 用于检查多个条件。 如果前面的if语句的条件为假,则检查elif语句的条件。 如果elif语句的条件为真,则执行elif语句后面的代码块;否则跳过该代码块。

    语法:

    if condition1: # 如果 condition1 为真,则执行这里的代码 elif condition2: # 如果 condition1 为假,且 condition2 为真,则执行这里的代码
  • else语句:最后的选择,默认的执行

    else语句用于处理所有条件都不满足的情况。 如果前面的if语句和所有elif语句的条件都为假,则执行else语句后面的代码块。

    语法:

    if condition1: # 如果 condition1 为真,则执行这里的代码 elif condition2: # 如果 condition1 为假,且 condition2 为真,则执行这里的代码 else: # 如果 condition1 和 condition2 都为假,则执行这里的代码

代码示例:

# 简单的 if 语句 age = 20 if age >= 18: print("你已经成年了") # if-else 语句 number = 10 if number % 2 == 0: print("这是一个偶数") else: print("这是一个奇数") # if-elif-else 语句 score = 85 if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" else: grade = "D" print(f"你的成绩等级是:{grade}") # 嵌套的 if 语句 x = 10 y = 5 if x > 0: if y > 0: print("x 和 y 都是正数") else: print("x 是正数,但 y 不是正数") else: print("x 不是正数")

运行结果:

二、循环语句:让程序重复工作 (for, while)

循环语句允许程序重复执行特定的代码块,从而实现自动化处理。 Python 提供了forwhile关键字来实现循环语句。

  • for循环:遍历序列,逐个处理

    for循环用于遍历序列 (例如字符串、列表、元组) 或其他可迭代对象。 对于序列中的每个元素,for循环都会执行一次循环体中的代码。

    语法:

    for item in sequence: # 对于序列中的每个 item,执行这里的代码

    代码示例 1:遍历列表

    my_list = [1, 2, 3, 4, 5] for item in my_list: print(item)

    运行结果:

    1 2 3 4 5

    代码示例 2:遍历字符串

    my_string = "hello" for char in my_string: print(char)

    运行结果:

    h e l l o
  • while循环:条件满足,持续执行

    while循环用于在条件为真时重复执行代码块。 只要条件为真,while循环就会一直执行下去。 因此,在使用while循环时,务必确保循环条件最终会变为假,否则会导致无限循环。

    语法:

    while condition: # 如果 condition 为真,则执行这里的代码

    代码示例:

    count = 0 while count < 5: print(count) count += 1

    运行结果:

    0 1 2 3 4
  • break语句:跳出循环,提前结束

break语句用于跳出循环。 当break语句被执行时,循环会立即终止,程序会跳到循环后面的代码继续执行。

代码示例:

numbers = [1, 2, 3, 4, 5] for number in numbers: if number == 3: break # 跳出循环 print(number)

运行结果:

1 2
  • continue语句:跳过本次,继续下一次

continue语句用于跳过当前循环迭代,继续下一次迭代。 当continue语句被执行时,循环会跳过当前迭代中剩余的代码,直接进入下一次迭代。

代码示例:

numbers = [1, 2, 3, 4, 5] for number in numbers: if number == 3: continue # 跳过当前迭代 print(number)

运行结果:

1 2 4 5
  • else子句:循环完成,额外奖励

else子句可以与forwhile循环一起使用。 如果循环是正常结束的 (即没有被break语句中断),则执行else子句中的代码。

代码示例:

numbers = [1, 2, 4, 5] for number in numbers: if number == 3: break print(number) else: print("循环正常结束") # 只有在循环没有被 break 语句中断时才会执行

运行结果:

1 2 4 5 循环正常结束
  • 嵌套循环

可以在循环内部嵌套其他的循环。 嵌套循环可以用于处理多维数据或执行复杂的迭代操作。

代码示例:

for i in range(3): for j in range(2): print(f"i = {i}, j = {j}")

运行结果:

i = 0, j = 0 i = 0, j = 1 i = 1, j = 0 i = 1, j = 1 i = 2, j = 0 i = 2, j = 1

三、pass语句:占位符,保持代码结构的完整

pass语句是一个空语句,它不做任何事情。 它通常用作占位符,在需要但尚未实现代码的地方使用,以保持代码结构的完整性。

代码示例:

# 在 if 语句中使用 pass age = 15 if age >= 18: pass # 以后再添加处理成年人的代码 else: print("你还未成年") # 在函数定义中使用 pass def my_function(): pass # 以后再添加函数的功能

运行结果:

四、练习题:巩固所学,提升技能

1、编写一个程序,判断一个年份是否为闰年。

  • 题目描述:闰年是指能被 4 整除但不能被 100 整除,或者能被 400 整除的年份。 请编写一个程序,输入一个年份,判断该年份是否为闰年,并输出相应的结果。
  • 思路提示:使用if-elif-else语句来判断年份是否满足闰年的条件。

参考代码:

year = int(input("请输入一个年份:")) if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print(f"{year} 是闰年") else: print(f"{year} 不是闰年")

运行结果:

2、编写一个程序,计算一个整数的阶乘。

  • 题目描述:阶乘是指从 1 乘以该数本身。 例如,5 的阶乘是 1 * 2 * 3 * 4 * 5 = 120。 请编写一个程序,输入一个整数,计算该整数的阶乘,并输出结果。

  • 思路提示:使用for循环或while循环来计算阶乘。

参考代码:

# 使用 for 循环 number = int(input("请输入一个整数:")) factorial = 1 if number < 0: print("负数没有阶乘") elif number == 0: print("0 的阶乘为 1") else: for i in range(1, number + 1): factorial *= i print(f"{number} 的阶乘为 {factorial}") # 使用 while 循环 number = int(input("请输入一个整数:")) factorial = 1 i = 1 if number < 0: print("负数没有阶乘") elif number == 0: print("0 的阶乘为 1") else: while i <= number: factorial *= i i += 1 print(f"{number} 的阶乘为 {factorial}")

运行结果:

3、编写一个程序,打印九九乘法表。

  • 题目描述:九九乘法表是一个经典的数学表格,用于展示 1 到 9 的乘法结果。 请编写一个程序,打印九九乘法表。

  • 思路提示:使用嵌套的for循环来打印九九乘法表。

参考代码:

for i in range(1, 10): for j in range(1, i + 1): print(f"{j} * {i} = {i * j}", end="\t") # 使用 end="\t" 可以使输出对齐 print() # 换行

运行结果:

4、编写一个程序,判断一个数是否为素数。

  • 题目描述:素数是指只能被 1 和自身整除的数 (大于 1 的整数)。 请编写一个程序,输入一个整数,判断该整数是否为素数,并输出相应的结果。

  • 思路提示:使用for循环来检查该数是否能被 2 到该数平方根之间的任何数整除。 如果能被整除,则不是素数;否则是素数。 注意对 1 和 2 进行特殊处理。

参考代码:

import math number = int(input("请输入一个整数:")) if number <= 1: print(f"{number} 不是素数") elif number == 2: print(f"{number} 是素数") else: is_prime = True for i in range(2, int(math.sqrt(number)) + 1): #只需要循环到平方根即可 if number % i == 0: is_prime = False break if is_prime: print(f"{number} 是素数") else: print(f"{number} 不是素数")

运行结果:

五、总结:掌握控制流,开启编程新世界

控制流语句是 Python 编程的基础,也是编写复杂程序的关键。 通过本文的学习,你应该对 Python 的控制流语句有了基本的了解,并且掌握了常用的语法和技巧

http://www.cnnetsun.cn/news/4123725.html

相关文章:

  • 自主认知的必要条件:方法论自指与本体自指实在论的边界区分
  • VimBox入门必学:12个Mac快捷键,让Sublime用户无缝迁移到MacVim
  • pytorch-pwc 快速上手:5 分钟跑通第一对图像的光流估计教程
  • org-roam-server 三重视界完全指南:数据库网络、缓冲区网络与文件浏览器
  • Programming for Kids:教孩子Python的完整教程,从变量循环到Flask网站开发
  • LeaderWorkerSet 生态全景:vLLM、SGLang、TensorRT-LLM 与 NVIDIA NIM 集成实战
  • 2026小程序制作平台有哪些?主流实用搭建平台全面整理!
  • Tauri Tutorial Markdown 编辑器开发:Monaco Editor + markdown-it 打造 MdHub
  • MediaBrowser 常见问题避坑指南:开发者最常踩的 8 个坑及解决方案
  • storageless完整API速查:Configuration与SessionInterface核心方法详解
  • 雨雾、夜间复杂工况下机旅客实时三维定位与轨迹生成,筑牢机场边检管控第一环
  • JDK-21虚拟线程使用
  • Cortex-M3-STM32F1 开发:(四十六)ADC 实例 4 :单通道 ADC 过采样实例,使用 DMA,两种编程方式
  • 收藏夹里500个“稍后再看“吃灰?这款免费AI视频总结工具帮你3分钟榨干B站课程
  • gruf 健康检查集成:接入官方 gRPC 健康检查协议,让 Ruby 微服务秒过探针
  • S-mall-ssm 订单状态机设计:5种状态如何驱动电商订单的完整生命周期?
  • 你的macOS菜单栏为什么总是乱成一团?这个叫Ice的菜单栏管理工具给出了答案
  • 老Mac免费吃上macOS Sequoia:OpenCore Legacy Patcher从零到上手完整指南
  • 磁盘空间告急怎么办?免费开源Czkawka的14个清理工具,帮你找出重复文件、相似图片和空文件夹
  • 深入源码:THCalendarDatePicker 日历网格布局算法是如何工作的?
  • 老款Mac焕新三步走:用OpenCore Legacy Patcher免费升级最新macOS完整指南
  • DesktopAssistant打包发布实战:生成Windows安装程序与deb包的完整步骤
  • ZCode与DeepSeek集成指南:打造本地AI编程助手
  • Dtims CPB4612-LF 控制板
  • 对比评测:GifHub vs 其他 GitHub GIF 插件,谁才是评论区动图之王?
  • TypeScript-New-Handbook 新手教程:10 分钟理解静态类型检查的核心理念
  • TypeScript-New-Handbook 完全指南:微软官方 TypeScript 新手册,一篇读懂全貌
  • 磁盘清理工具免费推荐:开源 Czkawka,把重复文件与相似图片一次清干净
  • THCalendarDatePicker 手势交互揭秘:滑动切换月份与年份的 5 个实现细节
  • 基于SpringBoot+Vue的个性化音乐平台网站(源码+讲解视频+LW)