[討論] 黑馬python教程 - 01-20 循環嵌套 與案例演練 - 討論區

[討論] 黑馬python教程 - 01-20 循環嵌套 與案例演練

文章瀏覽次數 830 文章回覆數 1

Mingo

Mingo圖像(預設)

2021-05-11 19:49:00

From:39.9.144.11

124 循環嵌套 01 基本語法

while 嵌套就是: while 里面還有 while 也就是一個大的循環裡面還包含了小的循環

# while 嵌套格式
while 條件 1:
    條件滿足時,做的事情1
    條件滿足時,做的事情2
    條件滿足時,做的事情3
    ...(省略)...

    while 條件 2:
        條件滿足時,做的事情1
        條件滿足時,做的事情2
        條件滿足時,做的事情3
        ...(省略)...

        處理條件 2

    處理條件 1

125 循環嵌套 02 使用字符串運算直接輸出小星星

第 1 步:用嵌套打印小星星
需求
在控制台連續輸出五行  * ,每一行星號的數量依次遞增

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

使用字符串 * 打印

# step 1:
# 定義一個計數器變量,從數字1開始,循環會比較方便
row = 1

while row <= 5:  # 這個循環先確認 * 有沒有被 print...

    print("*")

    row += 1
# step 2:
# 定義一個計數器變量,從數字1開始,循環會比較方便
row = 1

while row <= 5:  # 這個循環先確認 * 有沒有被 print...

    print("*" * row)

    row += 1

126 循環嵌套 03 擴展print函數的結尾處理

對 print 函數的使用做一個增強
在默認情況下,print 函數輸出內容之後,會自動在內容末尾增加換行

print('第一航')
print('第二航')

如果不希望末尾增加換行,可以在 print 函數輸出內容的後面增加  , end="" 
其中 "" 中間可以指定 print 函數輸出內容之後,繼續希望顯示的內容
語法格式如下:

# 向控制台輸出內容結束之後,不會換行
print("first line", end="")

print("first line too")
# end="" 表示向控制台輸出內容結束之後,不會換行

127 循環嵌套小星星 01 輸出行並且確定思路

假設 python 沒有提供字幅串 的操作
需求
在控制台連續輸出五行  
 ,每一行星號的數量依次遞增

*
**
***
****
*****
開发步驟
1. 完成 5 行內容的簡單輸出
2. 分析每行內部的  *  應該如何處理?
  . 每行顯示的星星和當前所在的行數是一致的
  . 嵌套一個小的循環,專門處理每一行中  列  的星星顯示

128 循環嵌套小星星 02 嵌套循環完成案例

row = 1

while row <= 5:

    # 假設 python 沒有提供字符串 * 操作
    # 在循環內部,再增加一個循環,實現每一行的 星星 打印
    col = 1

    while col <= row:  # 行術語*數相等
        print("*", end="")

        col += 1

    # 每一行星號輸出完成後,再增加一個換行
    print("")

    row += 1

129 九九乘法表 01 明確思路和步驟

需求輸出九九乘法表,格式如下:
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 行小星星
*
**
***
****
*****
******
*******
********
*********
2. 將每一個 * 替換成對應的行與列相乘

130 九九乘法表 02 打印9行小星星

# 印出酒行的 *
row = 1

# 最大打印 9 行
while row <= 9:
    print("*")
    row += 1
# 用 * 印出一個三角形
row = 1
while row <= 9:
    col = 1
    while col <= row:
        print('*' , end = '')
        col += 1
    print()
    row += 1

131 九九乘法表 03 九九乘法表數據輸出

row = 1

# 最大打印 9 行
while row <= 9:
    # 定義起始列
    col = 1

    # 最大打印 row 列
    while col <= row:

        # end = "",表示輸出結束後,不換行

        print("%d * %d = %d" % (col, row, row * col), end=" ")

        # 列數 + 1
        col += 1

    # 一行打印完成的換行
    print("")

    # 行數 + 1
    row += 1

132 九九乘法表 04 使用轉義字符調整格式

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 回車

※最後更新時間:2021-05-11 19:58:36 From:39.9.144.11 By:Mingo
※最後更新時間:2021-05-22 20:11:47 From:39.13.132.46 By:Mingo

留言

#1

特種兵

特種兵圖像(預設)

2021-05-19 14:18:40

From:211.23.21.202

step 1 的前面有井號,但 step 2 沒有,統一一下會比較好