一文了解Python中的循环(for while break continue 嵌套循环...)

循环

目标

  • 程序的三大流程
  • while 循环基本使用
  • break 和 continue
  • while 循环嵌套

01. 程序的三大流程

  • 在程序开发中,一共有三种流程方式:

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

02. while 循环基本使用

  • 循环的作用就是让 指定的代码 重复的执行
  • while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行
  • 需求 —— 打印 5 遍 Hello Python
  • 思考 —— 如果要求打印 100 遍怎么办?

2.1 while 语句基本语法

初始条件设置 —— 通常是重复执行的 计数器?while 条件(判断 计数器 是否达到 目标次数):    条件满足时,做的事情1    条件满足时,做的事情2    条件满足时,做的事情3    ...(省略)...        处理条件(计数器 + 1)

注意

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

第一个 while 循环

需求

  • 打印 5 遍 Hello Python
# 1. 定义重复次数计数器i = 1?# 2. 使用 while 判断条件while i <= 5:    # 要重复执行的代码    print("Hello Python")?    # 处理计数器 i    i = i + 1?print("循环结束后的 i = %d" % i)

注意:循环结束后,之前定义的计数器条件的数值是依旧存在的

死循环

由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执行,程序无法终止!

2.2 赋值运算符

  • 在 Python 中,使用 = 可以给变量赋值
  • 在算术运算时,为了简化代码的编写,Python 还提供了一系列的 与 算术运算符 对应的 赋值运算符
  • 注意:赋值运算符中间不能使用空格
运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= (余数)赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c a

2.3 Python 中的计数方法

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

  • 自然计数法(从 1 开始)—— 更符合人类的习惯
  • 程序计数法(从 0 开始)—— 几乎所有的程序语言都选择从 0 开始计数

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

2.4 循环计算

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

遇到这种需求,可以:

  1. while 上方定义一个变量,用于 存放最终计算结果
  2. 在循环体内部,每次循环都用 最新的计算结果更新 之前定义的变量

需求

  • 计算 0 ~ 100 之间所有数字的累计求和结果
# 计算 0 ~ 100 之间所有数字的累计求和结果# 0. 定义最终结果的变量result = 0?# 1. 定义一个整数的变量记录循环的次数i = 0?# 2. 开始循环while i <= 100:    print(i)?    # 每一次循环,都让 result 这个变量和 i 这个计数器相加    result += i?    # 处理计数器    i += 1?print("0~100之间的数字求和结果 = %d" % result)?

需求进阶

  • 计算 0 ~ 100 之间 所有 偶数 的累计求和结果

开发步骤

  1. 编写循环 确认 要计算的数字
  2. 添加 结果 变量,在循环内部 处理计算结果
# 0. 最终结果result = 0?# 1. 计数器i = 0?# 2. 开始循环while i <= 100:?    # 判断偶数    if i % 2 == 0:        print(i)        result += i?    # 处理计数器    i += 1?print("0~100之间偶数求和结果 = %d" % result)?

03. break 和 continue

breakcontinue 是专门在循环中使用的关键字

  • break 某一条件满足时,退出循环,不再执行后续重复的代码
  • continue 某一条件满足时,不执行后续重复的代码

breakcontinue 只针对 当前所在循环 有效

3.1 break

  • 在循环过程中,如果 某一个条件满足后 再希望 循环继续执行,可以使用 break 退出循环
i = 0?while i < 10:?    # break 某一条件满足时,退出循环,不再执行后续重复的代码    # i == 3    if i == 3:        break?    print(i)?    i += 1?print("over")

break 只针对当前所在循环有效

3.2 continue

  • 在循环过程中,如果 某一个条件满足后 希望 执行循环代码,但是又不希望退出循环,可以使用 continue
  • 也就是:在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行
i = 0?while i < 10:?    # 当 i == 7 时,不希望执行需要重复执行的代码    if i == 7:        # 在使用 continue 之前,同样应该修改计数器        # 否则会出现死循环        i += 1?        continue?    # 重复执行的代码    print(i)?    i += 1?
  • 需要注意:使用 continue 时,条件处理部分的代码,需要特别注意,不小心会出现 死循环

continue 只针对当前所在循环有效

04. while 循环嵌套

4.1 循环嵌套

  • while 嵌套就是:while 里面还有 while
while 条件 1:    条件满足时,做的事情1    条件满足时,做的事情2    条件满足时,做的事情3    ...(省略)...        while 条件 2:        条件满足时,做的事情1        条件满足时,做的事情2        条件满足时,做的事情3        ...(省略)...            处理条件 2        处理条件 1

4.2 循环嵌套演练 —— 九九乘法表

第 1 步:用嵌套打印小星星

需求

  • 在控制台连续输出五行 *,每一行星号的数量依次递增
***************
  • 使用字符串 * 打印
# 1. 定义一个计数器变量,从数字1开始,循环会比较方便row = 1?while row <= 5:?    print("*" * row)?    row += 1?

第 2 步:使用循环嵌套打印小星星

知识点print 函数的使用做一个增强

  • 在默认情况下,print 函数输出内容之后,会自动在内容末尾增加换行
  • 如果不希望末尾增加换行,可以在 print 函数输出内容的后面增加 , end=""
  • 其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容
  • 语法格式如下:
# 向控制台输出内容结束之后,不会换行print("*", end="")?# 单纯的换行print("")

end="" 表示向控制台输出内容结束之后,不会换行

假设 Python 没有提供 字符串的 * 操作 拼接字符串

需求

  • 在控制台连续输出五行 *,每一行星号的数量依次递增
***************

开发步骤

  • 1> 完成 5 行内容的简单输出
  • 2> 分析每行内部的 * 应该如何处理?
    • 每行显示的星星和当前所在的行数是一致的
    • 嵌套一个小的循环,专门处理每一行中 的星星显示
row = 1?while row <= 5:?    # 假设 python 没有提供字符串 * 操作    # 在循环内部,再增加一个循环,实现每一行的 星星 打印    col = 1?    while col <= row:        print("*", end="")?        col += 1?    # 每一行星号输出完成后,再增加一个换行    print("")?    row += 1?

第 3 步: 九九乘法表

需求 输出 九九乘法表,格式如下:

1 * 1 = 1   1 * 2 = 2   2 * 2 = 4   1 * 3 = 3   2 * 3 = 6   3 * 3 = 9   1 * 4 = 4   2 * 4 = 8   3 * 4 = 12  4 * 4 = 16  1 * 5 = 5   2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  1 * 6 = 6   2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  1 * 7 = 7   2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  1 * 8 = 8   2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  1 * 9 = 9   2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81?

开发步骤

    1. 打印 9 行小星星
*********************************************
    1. 将每一个 * 替换成对应的行与列相乘
# 定义起始行row = 1?# 最大打印 9 行while row <= 9:    # 定义起始列    col = 1?    # 最大打印 row 列    while col <= row:?        # end = "",表示输出结束后,不换行        # "\t" 可以在控制台输出一个制表符,协助在输出文本时对齐        print("%d * %d = %d" % (col, row, row * col), end="\t")?        # 列数 + 1        col += 1?    # 一行打印完成的换行    print("")?    # 行数 + 1    row += 1?

字符串中的转义字符

  • \t 在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐
  • \n 在控制台输出一个 换行符

制表符 的功能是在不使用表格的情况下在 垂直方向 按列对齐文本

转义字符 描述
\\ 反斜杠符号
\‘ 单引号
\" 双引号
\n 换行
\t 横向制表符
\r 回车

原文地址:https://www.cnblogs.com/fusheng11711/p/10709090.html

时间: 2024-08-12 17:47:27

一文了解Python中的循环(for while break continue 嵌套循环...)的相关文章

Python中的循环技术

简单谈谈 Python 中容器的遍历和一下小技巧. 1.遍历单个容器 下面代码遍历一个 List 结构,同样适用于 Tuple.Set 结构类型 >>> x = [1, 2, 3, 'p' , 'y'] >>> for v in x: ... print(x) ... 1 2 3 p y 遍历字典 Dict 结构也是一样的方法,注意区分 Key-Value >>> y = {'a':11, 'b':22} >>> y {'b': 22

Java和Python中for循环的比较

Java是强类型的语言,而python是弱类型的语言.先看Java中的for循环使用,如下图: package test06; /* * for 循环的条件 * for (循环初始表达式:循环条件表达式:循环后的表达式) */ public class Fortest { public static void main(String[] args){ /*打印九九乘法表*/ for(int x=1;x<10;x+=1){ for (int y=1;y<=x;y+=1){ if(y<x){

Python中的循环语句

Python中有while循环和for循环 下面以一个小例子来说明一下用法,用户输入一些数字,输出这些数字中的最大值和最小值 1 array = [5,4,3,1] 2 3 for i in array: 4 print(i) 5 6 largest = None 7 smallest = None 8 while True: 9 num = input("Enter a number: ") 10 if num == "done" : break if len(n

Python中的循环结构

Python中的比较运算符: Python中的关系运算符: 循环是为了解决重复出现的问题而设计. 1. for 实现 1+..+100求和 1 sum=0 2 for i in range(1,101): #range(start,stop,step) 3 sum+=i 2. while 1 i=1 2 sum=0 3 while i<101: 4 sum+=i 5 i+=1 注意: 在Python没有++ 和 -- 运算符 循环语句与判断条件语句结合使用时,注意break跳出所在最小循环,而c

python 中 for 循环 if循环 break

python中最基本的语法格式大概就是缩进了.python中常用的循环:for循环,if循环.一个小游戏说明for,if ,break的用法. 猜数字游戏: 1.系统生成一个20以内的随机数 2.玩家有6次机会进行猜猜看,每次猜测都会有反馈结果,猜大了,猜小了或是猜对了--结束 3.6次机会中,猜对了,玩家赢 4,6次机会中,没猜对,系统赢. 代码如下: [[email protected] python-scripts]# cat 12.py #!/usr/bin/python#coding=

22:python中的循环控制语句

循环控制语句可以更改语句执行的顺序.Python支持以下循环控制语句: 控制语句 描述 break 语句 在语句块执行过程中终止循环,并且跳出整个循环 continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环. pass 语句 pass是空语句,是为了保持程序结构的完整性. 22.1 break语句 Pythonbreak语句,就像在C语言中,打破了最小封闭for或while循环. break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,

python中的循环和编码

1.while循环 现在让我们来看看python中的while循环  格式为 while 条件 循环体 (break) (continue) 中断循环的关键字有break和continue, break: 直接中断跳出循环. continue:终止当前本次循环,继续执行下一次循环,不会彻底中断循环 2.格式化输出 占位符有%s,%d name = input("请输入你的名字") sex = input("请输入你的性别") age = input("请输

python中for循环的底层实现机制 迭代

在python中,存在2种循环方式:for循环和while循环. while循环的实现很简单, 其本质就是一个条件语句,自定义条件,当条件满足的时候,不断执行while代码块. 但是for循环,究竟是怎么回事呢?说到for循环,那么就不能不讲到迭代了 迭代    python中迭代对象分2种:迭代器对象(Iterator).可迭代对象(Iterable). tips:如何判断一个对象是迭代器对象还是可迭代对象?  from collections import Iterable, Iterato

Python基础教程:range/for/break/continue简单使用

range的使用:注意,在python3中,交互模式下已经不显示了 for循环的使用 打印50-70 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' # 第一种方案 for i in range(100): if i <= 70 and i >= 45: #注意这里使用的是 and/or/not 非java中的&&,||,! print (i) # 第二