Python使用循環(huán)完成九九乘法表

一、程序的三大流程

  • 順序 從上到下順序執(zhí)行代碼
  • 分支 根據(jù)條件判斷決定執(zhí)行代碼的分支
  • 循環(huán) 讓特定代碼重復(fù)執(zhí)行
    流程圖簡示:


    image

二、while循環(huán)的基本應(yīng)用

  • while語句基本語法句式:
    初始條件設(shè)置
    while 條件:
    條件滿足時執(zhí)行的代碼
    條件滿足時執(zhí)行的代碼
    條件滿足時執(zhí)行的代碼
    ......
    處理條件 計數(shù)器加一
  • 寫一個簡單的while循環(huán),打印5次"早盦呀是個很棒的UP主":
# 寫好初始條件
i = 1
# 開始循環(huán)
while i <= 5:
    # 滿足條件后執(zhí)行的代碼
    print("早盦呀是個很棒的UP主")
    # 處理計數(shù)器
    i += 1

執(zhí)行一下結(jié)果:


image

注意python的代碼規(guī)范

  • 試著寫一個使用while循環(huán)計算0-100求和
# 定義最終結(jié)果的變量
sum = 0
# 定義一個整數(shù)的變量記錄循環(huán)的次數(shù)
i = 0
# 開始循環(huán)
while i <= 100:
    sum += i
    # 處理計數(shù)器
    i += 1
print('0到100間的和為: %d' % sum)

調(diào)試一下并驗證結(jié)果


image
  • 使用while循環(huán)計算0-100間偶數(shù)的和
# 定義一個整數(shù)的變量記錄循環(huán)的次數(shù)
i = 0
# 開始循環(huán)
while i <= 100:
    # 使用嵌套if做偶數(shù)的判斷
    if i % 2 == 0:
        sum += i
    # 處理計數(shù)器
    i += 1
print('0到100間的所有偶數(shù)的和為: %d' % sum)

再進行驗證


image

要注意代碼的規(guī)范與運算符的使用等,總之要細心

三、break和continue

  • break 表示停止當前循環(huán)
  • continue 表示跳過當前循環(huán)輪次去執(zhí)行下一輪循環(huán)
    為更詳細了解倆者的區(qū)別,可試著完成“逢七跳過”的游戲
# 定義一個整數(shù)的變量記錄循環(huán)的次數(shù)
i = 0
# 開始循環(huán)
while i <= 100:
    # 構(gòu)思帶七及含七倍數(shù)的數(shù)字特點,把他們都找到
    if (i % 7 == 0
            or i % 10 == 7
            or i // 10 == 7):
        # 處理計數(shù)器,這里至關(guān)重要,如果不存在這個計數(shù)器會造成死循環(huán)
        i += 1
        # 使用continue跳過所有帶七及含七倍數(shù)的數(shù)字
        continue
    # 把其他情況打印出來
    else:
        print(i)
    # 處理計數(shù)器
    i += 1
image

相對于while循環(huán),這里使用for循環(huán)會更容易一些,但要引用range()函數(shù)

for i in range(1, 101):
    if (i % 7 == 0
            or i % 10 == 7
            or i // 10 == 7):
        continue
    else:
        print(i)

可自行嘗試使用并觀察
簡單修改一下條件并使用break:

# 定義一個整數(shù)的變量記錄循環(huán)的次數(shù)
i = 0
# 開始循環(huán)
while i <= 100:
    # 構(gòu)思帶七及含七倍數(shù)的數(shù)字特點,把他們都找到
    if i == 7:
        # 處理計數(shù)器,這里至關(guān)重要,如果不存在這個計數(shù)器會造成死循環(huán)
        i += 1
        # 使用continue跳過所有帶七及含七倍數(shù)的數(shù)字
        break
    # 把其他情況打印出來
    else:
        print(i)
    # 處理計數(shù)器
    i += 1
image

可以看到在滿足條件后,break變終止了循環(huán)。

四、打印九九乘法表

這里會涉及使用嵌套循環(huán)、print()函數(shù)擴展知識、內(nèi)循環(huán)與外循環(huán)搭配等......

先練習(xí)打印九行小*

# 定義一個整數(shù)的變量記錄循環(huán)的次數(shù)
row = 1
# 開始外循環(huán)打印列
while row <= 9:
    # 確定內(nèi)循環(huán)打印行
    col = 1
    while col <= row:
        # 這里用到print()函數(shù)擴展,print("",end="連接下一行的內(nèi)容")這樣寫可做到不自動換行
        print("*",end="")
        col += 1
    # 因為上一個print()函數(shù)內(nèi)已包含end=的用法,所以這里為避免所輸出的內(nèi)容在同一行要加print("")做換行處理
    print("")
    # 處理計數(shù)器
    row += 1
image

完成九九乘法表的書寫:

# 定義一個整數(shù)的變量記錄循環(huán)的次數(shù)
row = 1
# 開始外循環(huán)打印列
while row <= 9:
    # 確定內(nèi)循環(huán)打印行
    col = 1
    while col <= row:
        # 這里用到print()函數(shù)擴展,print("",end="連接下一行的內(nèi)容")這樣寫可做到不自動換行
        # print("*",end="")
        # 九九乘法表變身
        print("%d * %d = %d " % (col,row,row*col), end=" ")
        col += 1
    # 因為上一個print()函數(shù)內(nèi)已包含end=的用法,所以這里為避免所輸出的內(nèi)容在同一行要加print("")做換行處理
    print("")
    # 處理計數(shù)器
    row += 1

這樣我們就獲得了一個九九乘法表的代碼,仔細觀察打印*與打印乘法表的代碼,區(qū)別只是改了一行代碼,乘法表使用列號乘以行號才完成實現(xiàn)的,為了輸出美觀,要注意end=" "中以空格分開列

image

但是細心的人會發(fā)現(xiàn)我們打印出的乘法表存在對不齊的情況,所以要進一步完善一下
要保證每一列都能對齊,我們要引用轉(zhuǎn)義符、換行符

  • \t 表示控制臺輸出一個制表符,協(xié)助文本能夠垂直對齊
  • \n 表示控制臺輸出一個換行符

下面做簡單演示:

print("1\t2\t3")
print("10\t20\t30")
image

通過思考我們可以準確的找到需要修改的地方是print("%d * %d = %d " % (col,row,row*col), end=" "),最終修改為: print("%d * %d = %d " % (col,row,row*col), end="\t")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容