零基础学习Python之循环详解:从入门到实践_我的学习Python记录11

news2025/3/4 12:20:51

零基础学习Python之循环详解:从入门到实践_我的学习Python记录11

一、前言

最近我在学习Python,发现很多编程概念和用法都让我感到陌生,尤其是循环这个概念。今天,我将分享我学到的循环知识,希望能帮助到和我一样的初学者。


二、循环的作用

循环是编程中用于重复执行代码块的结构,主要解决以下问题:

  • 重复执行相同/相似操作(如批量处理数据)
  • 遍历集合元素(如列表、字典)
  • 实现持续运行直到满足特定条件

三、循环的分类

Python提供两种循环结构:

  1. while循环 - 基于条件判断的循环
  2. for循环 - 遍历可迭代对象的循环

四、while循环详解

1. 基本语法

while 条件表达式:
    循环体代码

2. 使用示例

# 示例1:计数器循环
count = 0  # 初始化计数器
while count < 5:  # 当count小于5时执行循环
    print(f"这是第 {count+1} 次循环")  # 打印当前循环次数
    count += 1  # 计数器加1

# 输出结果:
# 这是第 1 次循环
# 这是第 2 次循环
# ...
# 这是第 5 次循环

# 示例2:输入验证
password = ""  # 初始化密码变量
while password != "123456":  # 当密码不等于"123456"时执行循环
    password = input("请输入密码:")  # 提示用户输入密码
print("登录成功!")  # 循环结束后打印成功信息

3. 注意事项

  • 必须设置循环终止条件,否则会无限循环
  • 通过修改条件变量控制循环次数
  • 可使用 Ctrl+C 强制终止无限循环

五、break与continue

1. break语句

立即终止整个循环的执行

# 示例:遇到3时终止循环
num = 1  # 初始化变量
while num <= 5:  # 当num小于等于5时执行循环
    if num == 3:  # 如果num等于3
        break  # 终止循环
    print(num)  # 打印当前num值
    num += 1  # num加1

# 输出结果:
# 1
# 2

2. continue语句

跳过当前循环,进入下一次迭代

# 示例:跳过偶数
num = 0  # 初始化变量
while num < 5:  # 当num小于5时执行循环
    num += 1  # num加1
    if num % 2 == 0:  # 如果num是偶数
        continue  # 跳过本次循环
    print(num)  # 打印当前num值

# 输出结果:
# 1
# 3
# 5

六、嵌套循环

1. 基本结构

while 外层条件:
    while 内层条件:
        内层循环体
    外层循环体

2. 使用示例

# 打印九九乘法表
i = 1  # 外层循环变量
while i <= 9:  # 外层循环条件
    j = 1  # 内层循环变量
    while j <= i:  # 内层循环条件
        print(f"{j}×{i}={i*j}", end="\t")  # 打印乘法表达式
        j += 1  # 内层循环变量加1
    print()  # 换行
    i += 1  # 外层循环变量加1

# 输出效果:
# 1×1=1	
# 1×2=2	2×2=4	
# 1×3=3	2×3=6	3×3=9	
# ...

七、for循环详解

1. 基本语法

for 变量 in 可迭代对象:
    循环体代码

2. 使用示例

# 示例1:遍历列表
fruits = ["apple", "banana", "cherry"]  # 定义一个水果列表
for fruit in fruits:  # 遍历列表中的每个元素
    print(f"我喜欢吃{fruit}")  # 打印当前水果

# 示例2:遍历字符串
for char in "Python":  # 遍历字符串中的每个字符
    print(char, end="-")  # 打印字符并用"-"分隔

# 示例3:配合range使用
for num in range(3, 8, 2):  # 生成3到8(不含)的整数,步长为2
    print(num)  # 打印当前数字

3. range()函数详解

  • range(stop):生成0到stop-1的整数
  • range(start, stop)
  • range(start, stop, step)

八、循环对比总结

特征while循环for循环
使用场景不确定循环次数时使用已知迭代次数/遍历集合时使用
条件检查每次迭代前检查条件自动处理迭代次数
典型应用用户输入验证、游戏主循环遍历数据集合、固定次数循环

九、实战练习

练习题:打印菱形图案

使用循环打印如下菱形图案:

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

提示

  1. 使用for循环和range函数
  2. 外层循环控制行数,内层循环控制空格和星号
  3. 注意上下部分的对称性

以下是打印菱形图案的完整代码及其详细解释:

# 定义菱形的高度(上半部分的行数)
height = 4

# 打印上半部分
for i in range(height):  # 遍历每一行
    # 打印空格:每行的空格数为 height - i - 1
    for j in range(height - i - 1):
        print(" ", end="")
    # 打印星号:每行的星号数为 2 * i + 1
    for k in range(2 * i + 1):
        print("*", end="")
    # 换行
    print()

# 打印下半部分
for i in range(height - 2, -1, -1):  # 遍历每一行,从 height-2 到 0
    # 打印空格:每行的空格数为 height - i - 1
    for j in range(height - i - 1):
        print(" ", end="")
    # 打印星号:每行的星号数为 2 * i + 1
    for k in range(2 * i + 1):
        print("*", end="")
    # 换行
    print()

代码运行结果

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

代码解析

  1. 上半部分

    • 外层循环控制行数,从 0height-1
    • 内层第一个循环打印空格,空格数随行数增加而减少。
    • 内层第二个循环打印星号,星号数随行数增加而增加。
  2. 下半部分

    • 外层循环控制行数,从 height-20
    • 内层第一个循环打印空格,空格数随行数减少而增加。
    • 内层第二个循环打印星号,星号数随行数减少而减少。

关键点

  • 空格数height - i - 1,确保星号居中。
  • 星号数2 * i + 1,确保星号数量呈奇数增长。
  • 循环范围:下半部分的循环范围是 range(height - 2, -1, -1),确保对称性。

扩展练习

  1. 修改代码,让用户输入菱形的高度。
  2. 尝试打印空心菱形(只打印边框)。
  3. 使用 while 循环实现相同的功能。

十、总结

通过这篇博文,我们学习了Python中while循环for循环的基本用法,以及如何通过breakcontinue控制循环流程。循环是编程中非常重要的工具,能够帮助我们高效处理重复性任务。希望这篇博文能帮助你更好地理解循环的概念,并在实际编程中灵活运用!

如果你有任何问题或建议,欢迎在评论区留言!让我们一起进步! 🚀

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

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

相关文章

电子电路中,正负双电源供电的需求原因

1. 允许信号双向摆动 - **交流信号的处理**&#xff1a;许多电路&#xff08;如音频放大器、运算放大器&#xff09;需要处理正负交替变化的交流信号&#xff08;例如声音信号、传感器输出&#xff09;。如果仅用单正电源&#xff08;如12V&#xff09;&#xff0c;信号的“负…

ROS环境搭建

ROS首次搭建环境 注&#xff1a;以下内容都是在已经安装好ros的情况下如何搭建workplace 一、创建工作空间二、创建ROS包三、注意 注&#xff1a;以下内容都是在已经安装好ros的情况下如何搭建workplace 如果没有安装好&#xff0c;建议鱼香ros一步到位:鱼香ROS 我也是装了好久…

java后端开发day26--常用API(一)

&#xff08;以下内容全部来自上述课程&#xff09; 1.Math 1.简单介绍 是一个帮助我们用于进行数学计算的工具类私有化构造方法&#xff0c;所有的方法都是静态的 2.常用方法 不要背&#xff0c;忘了就查文档。 3.练习题 1.判断一个数是否为质数&#xff08;优化版&am…

SpringBoot接口自动化测试实战:从OpenAPI到压力测试全解析

引言&#xff1a;接口测试的必要性 在微服务架构盛行的今天&#xff0c;SpringBoot项目的接口质量直接影响着系统稳定性。本文将分享如何通过自动化工具链实现接口的功能验证与性能压测&#xff0c;使用OpenAPI规范打通测试全流程&#xff0c;让您的接口质量保障体系更加完备。…

Python中文自然语言处理库SnowNLP

SnowNLP 介绍 SnowNLP 是一个基于 Python 的中文自然语言处理库&#xff0c;专为处理中文文本而设计。它受到 TextBlob 的启发&#xff0c;但与 TextBlob 不同的是&#xff0c;SnowNLP 没有使用 NLTK&#xff0c;所有的算法都是自己实现的&#xff0c;并且自带了一些训练好的字…

Linux-计算机网络.udp

1.收发函数: read&#xff08;&#xff09;/write () ///通用文件读写&#xff0c;可以操作套接字。 recv(,0) /send(,0) ///TCP 常用套机字读写 recvfrom()/sendto() ///UDP 常用套接字读写 ssize_t recv(int sockfd, void *buf, size_t len, …

【大厂AI实践】清华:清华古典诗歌自动生成系统“九歌”的算法

【大厂AI实践】清华&#xff1a;清华古典诗歌自动生成系统“九歌”的算法 &#x1f31f; 嗨&#xff0c;你好&#xff0c;我是 青松 &#xff01; &#x1f308; 自小刺头深草里&#xff0c;而今渐觉出蓬蒿。 文章目录 **01 自动作诗缘起****1. 诗歌自动写作** **02 九歌的模型…

Docker安装Postgres_16数据库

PostgreSQL简介 PostgreSQL 是一个功能强大、开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;以其可靠性、功能丰富性和可扩展性而闻名。它支持复杂的查询、事务完整性、并发控制以及多种数据类型和扩展功能&#xff0c;适用于各种规模的应用程序; 适用传…

VSCode 移除EmmyLua插件的红色波浪线提示

VSCode 中安装插件EmmyLua&#xff0c;然后打开lua文件的时候&#xff0c;如果lua代码引用了C#脚本的变量&#xff0c;经常出现 “undefined global variable: UnityEngineEmmyLua(undefined-global)” 的红色波浪线提示&#xff0c;这个提示看着比较烦人&#xff0c;我们可以通…

大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘

文章目录 一、架构设计深度解剖1.1 核心架构对比图谱1.2 动态MoE架构实现架构差异分析表 二、训练策略全面对比2.1 训练数据工程对比2.2 分布式训练代码对比DeepSeek混合并行实现GPT-4 Megatron实现对比 2.3 关键训练参数对比 三、性能表现多维评测3.1 基准测试全景对比3.2 推理…

C语言基础知识02

格式化输入输出 函数名&#xff1a;printf&#xff08;&#xff09; 格式控制符&#xff1a;%c //把数据转换成字符型 cahr %d //把数据转换为有符号十进制整型 int short %ld // long %f //把数据转成单精度浮点型 flot %d //double %s …

Linux的进程观:简单性如何成就强大性(三)

1. 环境变量 1.1. 基本概念 环境变量(environment variables)⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数。 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪⾥&#xff0c;但是照样可以链接…

element-ui infiniteScroll 组件源码分享

简单分享 infiniteScroll 组件源码&#xff0c;主要有以下四个方面&#xff1a; 1、infiniteScroll 页面结构。 2、infiniteScroll 组件属性。 3、组件内部的方法。 4、存在的问题。 一、infiniteScroll 页面结构&#xff1a; 二、页面属性。 2.1 infinite-scroll-disab…

vulnhub靶场之【digitalworld.local系列】的bravery靶机

前言 靶机&#xff1a;digitalworld.local-bravery&#xff0c;IP地址为192.168.10.8 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 kali采用VMware虚拟机&#xff0c;靶机采用virtualbox虚拟机&#xff0c;网卡都为桥接模式 这里官方给的有两种方式&#xff0c;…

SpringBoot 整合mongoDB并自定义连接池,实现多数据源配置

要想在同一个springboot项目中使用多个数据源&#xff0c;最主要是每个数据源都有自己的mongoTemplate和MongoDbFactory。mongoTemplate和MongoDbFactory是负责对数据源进行交互的并管理链接的。 spring提供了一个注解EnableMongoRepositories 用来注释在某些路径下的MongoRepo…

C++20 标准化有符号整数:迈向更可预测的整数运算

文章目录 一、背景&#xff1a;为什么需要标准化&#xff1f;二、2 的补码&#xff1a;原理与优势&#xff08;一&#xff09;2 的补码原理&#xff08;二&#xff09;2 的补码的优势 三、C20 的变化&#xff1a;明确 2 的补码四、如何利用这一特性优化代码&#xff08;一&…

npm ERR! code 128 npm ERR! An unknown git error occurred

【问题描述】 【问题解决】 管理员运行cmd&#xff08;右键window --> 选择终端管理员&#xff09; 执行命令 git config --global url.“https://”.insteadOf ssh://git cd 到项目目录 重新执行npm install 个人原因&#xff0c;这里执行npm install --registryhttps:…

泵吸式激光可燃气体监测仪:快速精准守护燃气管网安全

在城市化进程加速的今天&#xff0c;燃气泄漏、地下管网老化等问题时刻威胁着城市安全。如何实现精准、高效的可燃气体监测&#xff0c;守护“城市生命线”&#xff0c;成为新型基础设施建设的核心课题。泵吸式激光可燃气体监测仪&#xff0c;以创新科技赋能安全监测&#xff0…

Stiring-PDF:开源免费的PDF文件处理软件

Stiring-PDF是一款开源免费且比较好用的PDF文件处理工具。 Stiring-PDF官网网址为&#xff1a;https://www.stiringpdf.com/。Stiring-PDF是一款专业的PDF文件处理工具&#xff0c;支持Windows和macOS操作系统&#xff1b;提供丰富的PDF编辑和转换功能&#xff0c;适用于日常工…

Cherno C++ P60 为什么不用using namespace std

这篇文章我们讲一下之前写代码的时候的一个习惯&#xff0c;也就是不使用using namespace std。如果我们接触过最早的C教程&#xff0c;那么第一节课都会让我们写如下的代码&#xff1a; #include<iostream>using namespace std;int main() {cout << "Hello …