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下方缩进的代码


目录
相关文章
|
1月前
|
Python
python用户输入和while循环(四)
python用户输入和while循环(四)
26 1
|
1月前
|
安全 Python
python用户输入和while循环(二)
python用户输入和while循环(二)
17 0
|
1月前
|
Python
在Python中while循环
在Python中while循环
16 1
|
2月前
|
机器人 Java C++
python速成之循环分支结构学习
python速成之循环分支结构学习
37 1
|
1月前
|
Python
python用户输入和while循环(一)
python用户输入和while循环(一)
16 0
|
1月前
|
存储 索引 Python
python用户输入和while循环(五)
python用户输入和while循环(五)
17 0
|
1月前
|
Python
python用户输入和while循环(三)
python用户输入和while循环(三)
19 0
|
1月前
|
Python
Python-循环
Python-循环
19 1
|
1月前
|
存储 算法 索引
python用户输入和while循环(六)
python用户输入和while循环(六)
18 0
|
1月前
|
存储 索引 Python
python用户输入和while循环(七)
python用户输入和while循环(七)
16 0