Python青少年简明教程:流程控制语句

news2024/11/23 0:32:33

Python青少年简明教程:流程控制语句

流程控制是编程语言中用于控制程序执行顺序的机制。它决定了代码块的执行路径,包括哪些语句会被执行、哪些不会被执行以及在什么条件下执行。

本节介绍Python的流程控制语句。

if语句 

if语句简单的语法格式如下:

if 表达式:

   语句组

其中,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式(例如:a > b and a != c),如果表达式为真,则执行语句组(也称为代码块,同样缩进的多条语句);如果表达式的值为假,就跳过语句组,继续执行后面的语句。流程图如下:

示例:

score = int(input("Enter a number: "))
if score >= 60:
    print("及格")

if…else语句

如果遇到只能二选一的条件。其语法格式如下:

if 表达式:

    语句组1

else:

语句组2

使用 if…else 语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果满足条件,则执行 if 后面的语句组,否则,执行 else 后面的语句组。流程图如下:

示例:

age = 20

if age < 18:
    print("未成年")
elif age >= 18 and age < 65:
    print("成年人")
else:
    print("老年人")

如果表达式为真,执行语句;而如果表达式为假,则跳过该语句,进行下一个 elif 的判断,只有在所有表达式都为假的情况下,才会执行 else 中的语句。流程图如下:

示例:

score = 75

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("中等")
else:
    print("合格")

if语句的嵌套

条件语句的嵌套是指在一个if、elif或else块中再使用其他的if、elif或else语句。

例如,用Python条件语句的嵌套判别一个数能否被2和3整除的情况:

# 定义要检查的数字
number = 9

if number % 2 == 0:
    if number % 3 == 0:
        print(f"{number} 能被2和3整除")
    else:
        print(f"{number} 能被2整除,但不能被3整除")
else:
    if number % 3 == 0:
        print(f"{number} 不能被2整除,但能被3整除")
    else:
        print(f"{number} 既不能被2整除,也不能被3整除")

注意事项

尽量避免过深的嵌套,以免混淆程序的执行流程。嵌套过多的条件语句可能会使代码变得难以阅读和维护。考虑将复杂的条件逻辑分解成函数来提高可读性。

while 循环

语法如下:

while 条件表达式:

    循环体

当条件表达式的返回值为真时,则执行循环体(一组被重复执行的语句)中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。流程图如下:

示例:

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

输出:

0  1  2  3  4

for循环

for 循环是一个依次重复执行的循环。适用于枚举或遍历序列,以及迭代对象中的元素。语法如下:

for 迭代变量 in 可迭代对象:

    循环体

每次遍历一个序列或迭代对象中的元素,就执行语句组,当遍历完元素,退出循环。流程图如下:

示例:

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

内置函数range()

range() 是 Python 中一个非常有用的内置函数,用于生成一个整数序列。它常用于 for 循环和列表生成。range() 函数有三种调用方式:

range(stop)

range(start, stop)

range(start, stop, step)

start: 序列的起始值(默认为 0)

stop: 序列的结束值(不包含此值)

step: 步长,即两个相邻数之间的差(默认为 1)

示例:

# 生成 0 到 4 的序列
for i in range(5):
    print(i)  # 输出: 0 1 2 3 4

# 生成 2 到 7 的序列
for i in range(2, 8):
    print(i)  # 输出: 2 3 4 5 6 7

# 使用步长 2 生成 1 到 9 的奇数序列
for i in range(1, 10, 2):
    print(i)  # 输出: 1 3 5 7 9

# 使用负步长生成递减序列
for i in range(10, 0, -1):
    print(i)  # 输出: 10 9 8 7 6 5 4 3 2 1

for 循环中嵌套 if
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for num in numbers:
    if num % 2 == 0:
        print(f"{num} 是偶数")
    else:
        print(f"{num} 是奇数")

for 循环嵌套
numbers = [1, 2, 3]
letters = ['a', 'b', 'c']

for number in numbers:
    for letter in letters:
        print(number, letter)

循环中的else子句

循环可以和 else 配合使用,else 下方缩进的代码指的是当循环正常结束之后要执行的代码。 while 和 for 循环也可以配合 else 使用,循环中的 else 是循环执行完后的补充,它只在循环正常结束时执行。

while-else 语句

while 循环的 else 块在循环条件变为 False 时执行(没有被 break 中断),例如:

count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("计数完成")

for-else 语句

for 循环的 else 块在循环正常完成时执行(即没有被 break 中断),例如:

for i in range(5):
    print(i)
else:
    print("循环正常完成")

循环控制语句

break 语句和 continue 语句都是 Python 中的循环控制语句,它们用于控制循环(for循环、while 循环)的执行流程。

break 用于立即终止当前循环。在遇到 break 之后,控制流将跳出循环,继续执行循环之后的代码。示例:

for i in range(10):
    if i == 5:
        break
    print(i)  # 只打印 0 到 4

continue 用于跳过当前循环的剩余部分,直接进入下一次迭代。在 continue 语句出现后,后面的代码将不会被执行,循环将开始下一个迭代。用 continue 语句直接跳到循环的下一次迭代。

示例:

for i in range(5):
    if i == 2:
        continue
    print(i)  # 打印 0, 1, 3, 4

循环嵌套

Python的for循环和while循环都可以嵌套。嵌套循环是一个循环内部包含另一个循环的结构。你可以根据需要组合使用for和while循环进行嵌套,但要注意控制好循环条件,以防止出现无限循环。同时,嵌套层数过多可能会导致代码可读性下降。

for循环嵌套示例:

# 简单的乘法表
for i in range(1, 10):
    for j in range(1, 10):
        print(f"{i}x{j}={i*j}", end="\t")
    print()  # 换行

这个例子创建了一个9x9的乘法表。外层循环控制行,内层循环控制列。

while循环嵌套:

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("*", end="")
        j += 1
    print()  # 换行
    i += 1

输出:

*
**
***
****
*****

for循环与while循环的组合嵌套

具体取决于你的需求,示例:

for i in range(3):  # 外层for循环
    j = 0
    while j < 2:  # 内层while循环
        print(f"i = {i}, j = {j}")
        j += 1

输出:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过观测云 eBPF Tracing 实现无埋点的全链路追踪

前言 随着微服务架构的普及和系统复杂度的增加&#xff0c;对应用程序的可观测性要求也越来越高。传统的监控方法通常需要在应用程序中添加代码来记录和追踪重要信息&#xff0c;这种方法可能会增加系统的负担&#xff0c;并且在复杂系统中维护难度较大。 eBPF&#xff08;Ex…

翻译_Clock Domain Crossing Design

翻译_Clock Domain Crossing Design 原文标题及连接:Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog. 作者:Clifford E. Cummings Sunburst Design, Inc. cliffc@sunburst-design.com 摘要 在多时钟设计中,需要在时钟域交叉(…

SpringBoot——请求响应(简单参数、实体参数、数组集合参数、日期参数、JSON参数、路径参数、统一响应结果)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

(经验)SVN降版本,保留版本信息和用户信息。

背景&#xff1a;由于开始公司人数规模小&#xff0c;没有关心SVN最新版本免费对于用户数量限制要求不敏感&#xff0c;随着人数越来越多&#xff0c;公司来了新员工已经添加不了SVN需要注册码了&#xff0c;不利于SVN文件管理的在公司内部的推广。看了好多资料&#xff0c;都没…

Java:jdk8之后新增的时间API

文章目录 为什么要使用新增的API新增了哪些&#xff1f;Local常用方法代码一样的用法 黑马学习笔记 使用新增的 为什么要使用新增的API 新增了哪些&#xff1f; Local 常用方法 代码 package NewTime;import java.time.LocalDate;/*** Author: ggdpzhk* CreateTime: 2024-08-…

【Python入门思维概括图】

&#x1f4d6;入门思维概括图 ✅第1节 基础语法 ✅第2节 判断语句 ✅第3节 循环语句 ✅第4节 函数 ✅第5节 数据容器 ✅第6节 函数进阶 ✅第7节 文件操作 ✅第8节 异常模块和包 拓展&#xff1a;学了python能干什么&#xff0c;可以参考下面的Python使用场景思维导图介绍

慈云寺北里社区新时代文明实践站联手鼓动青春丰富青少年暑期生活

炎炎夏日的暑期&#xff0c;慈云寺北里社区新时代文明实践站携手鼓动青春&#xff0c;为社区青少年精心策划并成功举办了两场丰富多彩的暑期活动&#xff0c;不仅为孩子们的假期生活增添了浓厚的文化色彩&#xff0c;更激发了他们对中华传统文化与现代艺术的浓厚兴趣。 首场&am…

《JavaEE进阶》----4.<SpringMVC①简介、基本操作>

本篇博客讲解 MVC思想、及Spring MVC&#xff08;是对MVC思想的一种实现&#xff09;。 Spring MVC的基本操作、学习了六个注解 RestController注解 RequestMappering注解 RequestParam注解 RequestBody注解 PathVariable注解 RequestPart注解 MVC View(视图) 指在应⽤程序中…

IO复用技术

一、I/O复用的介绍 I/O复用是一种能够同时处理多个I/O操作的技术&#xff0c;适用于高并发场景。 使用场景 select/poll&#xff1a;适用于连接数较少的场景。epoll&#xff1a;适用于大规模的网络服务&#xff0c;如Web服务器。 二、实现方式 1.select select 是一种系统调…

iPhone突然黑屏?别慌,这里有你的自救指南

在日常使用iPhone的过程中&#xff0c;不少用户可能会遇到手机突然黑屏的情况&#xff0c;这往往让人措手不及。别担心&#xff0c;今天我们就来详细探讨一下iPhone突然黑屏的可能原因及解决方法&#xff0c;帮助你快速恢复手机的正常使用。 一、iPhone突然黑屏的可能原因 1. …

在做结果集封装时,若结果集表头与成员变量名不一致该如何解决?

目录 1. 通过别名映射为一致&#xff1a;as子句 2. 使用resultMap 3. 在配置文件中开启适配规则 在Score实体类中&#xff0c;我们定义了studentId、courseId、score、status&#xff0c;而在数据库中&#xff0c;我们设置如下&#xff1a; 1. 通过别名映射为一致&#xff1…

GAMES202——作业1 实时阴影(ShadowMap,PCF,PCSS)

目录 任务 ShadowMap PCF PCSS 实现 ShadowMap useShadowMap PCF findBlocker PCSS 结果 任务 ShadowMap 1.在 ShadowMaterial.js 中需要向 Shader 传递正确的 uLightMVP 矩阵&#xff0c;该矩阵参与了第一步从光源处渲染场景从而构造ShadowMap 的过程。 你需要完成 D…

4 - ZYNQ 信号、接口与引脚

文章目录 1 ZYNQ信号、接口与引脚1.1 电源引脚1.2 PS信号引脚1.3 PL信号引脚1.4 PS和PL交互接口 1 ZYNQ信号、接口与引脚 ZYNQ的信号、接口与引脚如下图所示&#xff0c;主要分为&#xff1a; PS部分PL部分PS和PL交互部分PS和PL共用部分&#xff08;如JTAG&#xff09; 1.…

Disassembly窗口信息解读

如上图程序所示&#xff0c;程序运行流程为&#xff1a; 1.跳转至main所在地址 2.加载全局变量counter地址??main_2到R0 3.将变量值存入R0 4.R0自增指令载入 5.加载counter地址到R1 6.通过R1的地址&#xff0c;R0取到counter的值 ??main_1最终结果R0存值&#xff0c…

常用工具网站之Emoji

https://www.emojiall.com/zh-hans/all-emojis 这个网站是一个收集和展示所有表情符号的网站。用户可以在这里找到各种不同类型的表情符号&#xff0c;并了解它们的含义和用法。 举例说明&#xff1a;在这个网站上&#xff0c;可以找到不同类型的奖牌表情符号&#xff0c;例如…

谈到这个痛点,写C的和不写C的码农都沉默了

声明&#xff1a;此篇为 ai123.cn 原创文章&#xff0c;转载请标明出处链接&#xff1a;https://ai123.cn/2246.html 作为一名在计算机软件行业工作的C工程师&#xff0c;我深知在高要求的内存管理环境中工作有多么艰难。内存分配与优化、避免内存泄漏&#xff0c;都是日常挑战…

Scrapy入门学习

文章目录 Scrapy一. Scrapy简介二. Scrapy的安装1. 进入项目所在目录2. 安装软件包Scrapy3. 验证是否安装成功 三. Scrapy的基础使用1. 创建项目2. 在tutorial/spiders目录下创建保存爬虫代码的项目文件3.运行爬虫4.利用css选择器Scrapy Shell提取数据例如: Scrapy 一. Scrapy…

2024谷歌开发者大会分享

前言&#xff1a; google一般会在每年的5月份在美国举行开发者大会&#xff0c;然后8-9月份会在中国也举办一次开发者大会&#xff0c;内容主题纲要是一致的&#xff0c;但是由于中国剧本的时间稍微晚一些&#xff0c;所以其内容会更新一些。 每年的开发者大会&#xff0c;会隐…

跟着B站前端面试总结回顾前端基础知识(二)

深拷贝与浅拷贝 在JavaScript中&#xff0c;深拷贝是一个常见的需求&#xff0c;特别是在处理复杂数据结构&#xff08;如对象、数组等&#xff09;时&#xff0c;需要确保原始数据不被修改。下面通过表格形式列出几种常见的深拷贝方法&#xff0c;并简要说明其优缺点。 方法…

【AI模型:追求全能还是专精?】

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《热点时事》 期待您的关注 目录 引言 ​编辑 一&#xff1a;AI模型的全面评估和比较 二&#xff1a;AI模型的专精化和可扩展性…