問題描述:
python
打印乘法表如圖:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
ide
個人思路:spa
第一次循環範圍爲range(1,10),由於每次都是從i開始,直到i*i結束,因此第二次循環範圍爲range(1,i+i),而後格式化輸出結果,此時尚未達到乘法表的結果而是一行輸出,只需再判斷一下第一個數是否等於第二個數,若是等於,就說明此行已結束,換行便可;orm
個人代碼:ci
for i in range(1,10): for j in range(1,i+1): print "%d*%d=%d " % (i,j,i*j), if i==j: print "\n"
效果圖:get
1*1=1 it
2*1=2 2*2=4 class
3*1=3 3*2=6 3*3=9 循環
4*1=4 4*2=8 4*3=12 4*4=16 di
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
示例代碼:
def fun(): for line in xrange(1,10): for row in xrange(1,line + 1): s=str(line) + ' * ' + str(row) + ' = ' + str(line * row) print s.ljust(12),'|', print '' fun()
效果圖:
>>>
1 * 1 = 1 | 2 * 2 = 4 | 3 * 3 = 9 | 4 * 4 = 16 | 5 * 5 = 25 | 6 * 6 = 36 | 7 * 7 = 49 | 8 * 8 = 64 | 9 * 9 = 81 |
>>>
示例代碼有問題,是錯誤的;