Python_从零开始学习_(18) 循环嵌套

1.  循环嵌套

  • while 嵌套就是: while 里面还有 while
while  条件1:
    条件满足时,  做得事情1
    条件满足时,  做得事情2
    条件满足时,  做得事情3
    ......

    while  条件2:
        条件满足时,  做得事情1
        条件满足时,  做得事情2
        条件满足时,  做得事情3
        ......
 
        处理条件2
    处理条件1

2.  循环嵌套演练  ----  九九乘法表

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

需求

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

num = 1

while num <= 5:
    print("*" * num)
    num +=1

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

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

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

# 单纯的换行
print("")

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

嵌套循环小星星演练 :

# 定义行变量
row = 1

while row <= 5:
    # 1. 定义一个列计数器变量
    col = 1
    # 2. 开始循环
    while col <= row:
        # print("%d" % row)
        # 每一行打印多少个小星星
        print("*", end="")

        col += 1
    # print("第 %d 行" % row)
    # 这行代码就是在一行星星输出完之后, 添加换行 !
    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 

 演练代码 :

# 定义一个行变量
row = 1
# 第一个循环, 循环次数代表多少行数
while row <= 9:
    # 定义一个列变量
    col = 1
    # 第二个循环, 代表每一行循环出来的内容
    while col <= row:
        print("%d * %d = %d" % (col, row, row*col), end=" ")
        col += 1
    print("")
    row += 1

但是发现打印出来没对齐:

 然后就有了转义字符

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

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

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

 然后修改后的九九乘法代码如下 :

# 定义一个行变量
row = 1
# 第一个循环, 循环次数代表多少行数
while row <= 9:
    # 定义一个列变量
    col = 1
    # 第二个循环, 代表每一行循环出来的内容
    while col <= row:
        print("%d * %d = %d" % (col, row, row*col), end="\t")
        col += 1
    print("")
    row += 1

猜你喜欢

转载自blog.csdn.net/jiandan1127/article/details/82915461