6_python基础—循环(下)

简介: 6_python基础—循环

四、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


五、for循环


5.1 语法


for 临时变量 in 序列:
    重复执行的代码1
    重复执行的代码2
    ······


5.2 示例


str = "love"
for i in str:
    print(i)  # l o v e


5.2.1 break


str = "love"
for i in str:
    if i == "v":
        print("遇到v不打印,跳出循环")
        break
    print(i)


l

o

遇到v不打印,跳出循环


5.2.2 continue


str = "love"
for i in str:
    if i == "v":
        print("遇到v不打印,返回循环")
        continue
    print(i)



l

o

遇到v不打印,返回循环

e


六、else


循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码


6.1 while…else


6.1.1 语法


while 条件:
    条件成立重复执行的代码
else:
    循环正常结束之后要执行的代码

6.1.2 示例


i = 1
while i <= 3:
    print("媳妇,我错了")
    i += 1
else:
    print("媳妇原谅我了")


媳妇,我错了

媳妇,我错了

媳妇,我错了

媳妇原谅我了


6.1.3 退出循环方式


  • break
i = 1
while i <= 3:
    if i == 2:
        print("这遍说的不真诚")
        break
    print("媳妇,我错了")
    i += 1
else:
    print("媳妇原谅我了")


媳妇,我错了

这遍说的不真诚


所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。


  • continue
i = 1
while i <= 3:
    if i == 2:
        print("这遍说的不真诚")
        i += 1
        continue
    print("媳妇,我错了")
    i += 1
else:
    print("媳妇原谅我了")

媳妇,我错了

这遍说的不真诚

媳妇,我错了

媳妇原谅我了

因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else下方缩进的代码。


6.2 for…else


6.2.1 语法


for 临时变量 in 序列:
    重复执行的代码
else:
    循环正常结束之后要执行的代码


所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。


6.2.2 示例


str = "love"
for i in str:
    print(i)
else:
    print("循环正常结束之后执行的代码")


6.2.3 退出循环的方式


break终止循环


str = "love"
for i in str:
    if i == "v":
        print("遇到v不打印,跳出循环")
        break
    print(i)
else:
    print("循环正常结束之后执行的代码")

l

o

遇到v不打印,跳出循环


continue


str = "love"
for i in str:
    if i == "v":
        print("遇到v不打印,返回循环")
        continue
    print(i)
else:
    print("循环正常结束之后执行的代码")


l

o

遇到v不打印,返回循环

e

循环正常结束之后执行的代码

因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else下方缩进的代码。



七、总结


  • 循环的作用:控制代码重复执行
  • while语法


while 条件(判断 计数器 是否达到 目标次数):
    条件满足时,做的事情1
    条件满足时,做的事情2


  • while循环嵌套语法


while 条件 1:
    条件1成立执行的代码
    ...(省略)...
    while 条件 2:
        条件2成立执行的代码
        ...(省略)...


  • for循环语法


for 临时变量 in 序列:
    重复执行的代码1
    重复执行的代码2
    ······


break退出整个循环

continue退出本次循环,继续执行下一次重复执行的代码

else

while和for都可以配合else使用

else下方缩进的代码含义:当循环正常结束后执行的代码

break终止循环不会执行else下方缩进的代码

continue退出循环的方式执行else下方缩进的代码


目录
相关文章
|
5月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
680 1
|
8月前
|
Python
Python中的循环可以嵌套使用吗?
Python中的循环可以嵌套使用吗?
405 57
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
239 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
10月前
|
机器学习/深度学习 算法 关系型数据库
Python循环进阶:嵌套与控制的深度解析
本文深入探讨Python中嵌套循环的原理与应用,从数学模型到工程实践全面解析。内容涵盖嵌套循环的本质(如笛卡尔积实现、变量作用域)、精细控制技巧(如break/continue、迭代器协议、异常处理),以及性能优化策略(预计算、向量化等)。同时结合树形结构遍历、动态规划、游戏开发等典型场景,提供最佳实践建议。掌握这些技巧,助你突破编程瓶颈,实现复杂问题的优雅解决。
318 6
|
11月前
|
存储 Shell 开发者
Python用户输入与While循环
本文介绍了Python中用户输入与while循环的结合使用,通过`input()`函数获取用户输入,并利用while循环实现重复操作,如创建交互式程序或用户驱动的循环。示例代码展示了如何让用户输入数字并计算总和,直到输入指定退出命令。这种组合能帮助开发者构建强大的交互式Python应用。
310 1
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
218 2
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
324 2
|
Python
Python 中,循环判断
Python 中,循环判断
318 1
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
167 5
|
Python
Python 循环语句的高级应用与深度探索
本文深入探讨了Python中循环语句的高级应用,包括`for`循环遍历字典获取键值、同步遍历多个序列,以及`while`循环结合条件判断和异常处理。通过嵌套循环实现了矩阵乘法,并介绍了如何优化循环以提升程序性能。示例代码展示了这些技术的实际应用。
179 15

推荐镜像

更多