算法創作|用while實現九九乘法表問題解決方法

本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。


前言

標題,假如朋友圈分享了這篇文章,如何吸引朋友點擊打開這篇文章。


問題描述

我們剛學習Python的時候,就就看到老師學長用for循環做了一個九九乘法表也就是如下:

輸出:

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

    當我們換一下思路用while呢?


解決方案

讓我們先來理一理for循環九九乘法表的過程:我們先把九九乘法表中a*b改變一下位置也就是b*a

1*1=1

2*1=2  2*2=4

3*1=3  3*2=6  3*3=9

……

也就是第一層是:1乘(11),第二層是:2乘(12),第三層是3:乘(13……

Python中也就是for循環中:上層a循環19,下層b循環1到上層,也就會出現a=1b=1a=2b=1 b=2a=3b=1 b=2 b=3……

當用while時也一樣,定義變量a=1while循環條件a<10,再在循環內加a=a+1,就可以得到19了 ,在用相同方法定義b=1while循環1a再在循環內加b=b+1就可以得到與for相同的答案,其餘的參考for循環。

代碼清單 1 DFS求解1100求和問題Python代碼

a=1

while a<10:

b=1

while b<a+1

c=a*b

print(“%d*%d=%d”% (b,a,c),end=”\t”)

        b=b+1

a=a+1

print()

 

結語

這周翻看大一上學期書時,發現了這個用Python寫九九乘法表用,然後認真分析了其中的for循環的內容,然後又想了想如果用while?其實while循環我寫的比較潦草,不是很清楚。




實習編輯:王曉姣

作者:張雨平、裴曉松、劉湘

稿件來源:深度學習與文旅應用實驗室(DLETA)

本文分享自微信公衆號 - 算法與編程之美(algo_coding)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章