Python 学习之路 03 之循环

简介: 03-运行时数据区概述及线程

1、初识循环

在程序开发中,⼀共有三种流程⽅式:

  • 顺序 —— 从上向下,顺序执⾏代码;
  • 分⽀ —— 根据条件判断,决定执⾏代码的分支;
  • 循环 —— 让特定代码重复执行;

1.1 while 循环简介

循环的作⽤就是让指定的代码重复的执⾏;

while 循环最常⽤的应⽤场景就是让执⾏的代码按照指定的次数重复执⾏ ;

让我们看看while语句的基本语法

while 条件:
pass

代码演示:

i = 0
while i <= 10:
    print(i)
    i += 1

注意:

while 语句以及缩进部分是⼀个完整的代码块 ;


如果在循环内部忘记修改循环的判断条件,就会导致循环持续执行,程序无法终止!比如上面的循环语句,如果我没有在程序内部加入 i += 1,i就会永远<=10,就会造成死循环。

1.2 Python中的计数方法

常⻅的计数⽅法有两种,可以分别称为:

  • ⾃然计数法(从 1 开始)—— 更符合⼈类的习惯;
  • 程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数 ;

因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则循环 的计数都从 0 开始。

示例:

在程序开发中,通常会遇到利⽤循环重复计算的需求 。

遇到这种需求,可以:

  1. 在 while 上⽅定义⼀个变量,⽤于存放最终计算结果 ;
  2. 在循环体内部,每次循环都⽤最新的计算结果,更新之前定义的变量。
# 定义一个变量 num, 存放从 0 到 100 累加的结果
num = 0
 
# 定义一个变量 a, 决定 while 循环的次数
a = 0
 
# 只要 a<=100,循环就一直会进行,直到 a > 100 循环结束
while a <= 100:
    num += a
    a += 1
 
# 循环结束后,打印 num 的值
print(num)

2、break 和 continue

break 和 continue 是专⻔在循环中使⽤的关键字 ;

共同点:

  1. 都是用于终止本次循环。
  2. break 和 continue 只针对当前所在循环有效 。

不同点:

  1. break 某⼀条件满⾜时,退出单层循环 ;
  2. continue 某⼀条件满⾜时,结束本次循环(不执⾏continue 后的循环体语句),执⾏下次循环 ;

2.1 Break

在循环过程中,如果某⼀个条件满⾜后,不再希望循环继续执⾏,可以使⽤break 退出循环 。

示例:

i = 0
while i < 10:
    i += 1
# 如果 i 等于 5,while 循环退出
    if i == 5:
        break
    print(i)

2.2 Continue

在循环过程中,如果 某⼀个条件满⾜后,不希望执⾏循环代码,但是⼜不希望退出循环,可以使⽤ continue 。

示例:

i = 0
while i < 10:
    i += 1
# 如果 i 等于 5,跳过下面的 print,直接回到 while 的开始继续循环
    if i == 5:
        continue
    print(i)

注:

使⽤ continue 时,条件处理部分的代码,需要特别注意,不⼩⼼会出现死循环 。

3、 while 循环嵌套

while 嵌套就是: while ⾥⾯还有 while ;简称套娃。

演示:

1、输入以下结果

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

代码实现:

i = 0
# 外循环决定输出行数
while i < 5:
    # 内循环决定每行输出的*号个数
    j = 0
    while j < 5:
        print("*", end="")
        j += 1
    print("")
    i += 1

2、输入以下结果

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

代码演示:

i = 0
# 外循环决定输出行数
while i < 5:
    # 内循环决定每行输出的*号个数
    j = 0
    while j <= i:
        print("*", end="")
        j += 1
    print("")
    i += 1

4、for 循环

for 循环主要用在遍历场景;

  • 遍历就是从头到尾 依次从列表中获取数据;
  • 在循环体内部针对每⼀个元素,执⾏相同的操作;

语法:

for 变量 in 字符串: 
    循环里要执行的代码

示例:

str1 = "求个关注+点赞"
for n in str1:
    # n 分别代表 str1 字符串里每一个字符
    print(n)

4.1 for 和 while

共同点:

都是循环;


while 和 for 可以互换。

不同点:

  • while 循环的最大作用是指定次数的循环;
  • for 循环最大作用是遍历;

4.2 for 结合 范围函数 range

range 可以生成一个指定范围的数据。

使用:range(start, stop,int);

  • start,范围开始值;
  • stop 范围终止值(不包括 stop);
  • int,步长,如果小于 0,代表生成降序范围,如果省略 int,默认值为 1。

示例:

# 生成从 0 到 9 的范围,不包括 10
range(0, 10)
# 生成从 2 到 11 的偶数,不包括 11
range(2, 11, 2)
# 生成从 20 到 11 的降序范围,不包括 10
range(20, 10, -1)
for n in range(0, 10):
    print(n)
目录
相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
249 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
17天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
29 4
|
23天前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
59 5
|
30天前
|
机器学习/深度学习 人工智能 架构师
Python学习圣经:从0到1,精通Python使用
尼恩架构团队的大模型《LLM大模型学习圣经》是一个系统化的学习系列,初步规划包括以下内容: 1. **《Python学习圣经:从0到1精通Python,打好AI基础》** 2. **《LLM大模型学习圣经:从0到1吃透Transformer技术底座》**
Python学习圣经:从0到1,精通Python使用
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
348 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
1月前
|
开发者 Python
Python学习九:file操作
这篇文章是关于Python文件操作的详细教程,包括文件的打开、读写、关闭,以及文件备份脚本的编写和文件定位操作。
18 2
|
1月前
|
Java C# Python
Python学习七:面向对象编程(中)
这篇文章是关于Python面向对象编程的中级教程,涵盖了析构函数、对象的三大特征(封装、继承、多态)、类属性与实例属性、以及类方法与静态方法的对比。
22 2
|
1月前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
20 1
|
30天前
|
机器学习/深度学习 人工智能 架构师