我們學(xué)完for循環(huán)嵌套之后,我們來(lái)看一個(gè)經(jīng)典案例,用for循環(huán)打印九九乘法表。
其實(shí)代碼很簡(jiǎn)單,我們上章基本上就把框架寫好了,就是這個(gè)代碼。
for i in range(1,10):
print('外層循環(huán)---->',i)
for x in range(1, 10):
print('內(nèi)層循環(huán)-->', x)
我們先來(lái)看看,九九乘法表長(zhǎng)什么樣子。
我們來(lái)看第一行,一一得一,也就是我們只要拿到兩個(gè)等于1的變量,然后相乘就行了。第二行一二得二,這就需要拿到1和2這兩個(gè)值,二二得四,就需要兩個(gè)2。
往下看就會(huì)發(fā)現(xiàn)一個(gè)規(guī)律,每一行乘號(hào)前面都是1,乘號(hào)后面的數(shù)字每一行都是一樣的,而且每一行依次累加。是不是上節(jié)課講的for循環(huán)嵌套。
好像是有點(diǎn)思路了,我們?cè)囋嚫南律厦娴拇a。
for i in range(1,10):
for x in range(1, 10):
print(f'{i}*{x}={i*x}')
print('-'*10)
第三行表示的是做數(shù)學(xué)運(yùn)算的,第四行代表做分割的。我們先來(lái)打印看看。
好像有點(diǎn)感覺(jué)了,但是還是有點(diǎn)問(wèn)題。這個(gè)i是沒(méi)有問(wèn)題的,每次內(nèi)層循環(huán)i都是固定的,但是這個(gè)x每次都是1-9這就不太對(duì)了。
我們來(lái)看上面的圖,第一次應(yīng)該是x到1就結(jié)束了,第二次是1-2,第三次是1-3……第九次是1-9。
內(nèi)層循環(huán)我們不應(yīng)該寫死,應(yīng)該改成動(dòng)態(tài)的。第一次外存循環(huán)(1,1)、第二次外存循環(huán)(1,2)、第三次外存循環(huán)(1,3)、第四次外存循環(huán)(1,4)。所以后面應(yīng)該是i+1。我們?cè)賮?lái)打印看看。
for i in range(1,10):
for x in range(1, i+1):
print(f'{i}x{x}={i*x}')
print('-'*10)
好像有點(diǎn)正確了,但是好像格式有點(diǎn)問(wèn)題,應(yīng)該是每次外層循環(huán),都在同一行,外層循環(huán)打印完后才換行。
要實(shí)現(xiàn)這個(gè)效果,我們要重新認(rèn)識(shí)print這個(gè)功能了。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 用for循環(huán)寫九九乘法表1