# -*- coding: utf-8 -*-
# Python version: 2.5.4
"""九九乘法表"""
範例一、
# -*- coding: utf-8 -*-
# Python version: 2.5.4
for i in range(1, 10):
for j in range(1, 10):
print i ,'*', j ,'=' ,i*j
範例二、
# -*- coding: utf-8 -*-
# Python version: 2.5.4
"""九九乘法表"""
for i in range(1, 10):
print '\t'.join(['%s*%s=%s%s' % (j,i,i*j) for j in range(1,10)]
範例三、一行的方式
# -*- coding: utf-8 -*-
# Python version: 2.5.4
"""九九乘法表"""
print '\n'.join(['\t'.join(['%d*%d=%d' % (j,i,i*j) for i in range(1,10)]) for j in range(1,10)])
短短一行,看似神奇,對初學者來講,卻較難理解!
i這一行巧妙運用''.join [ ] list 特性 及最後用
for i in range(1,10):
print i #每列完 i 一次會自動換行
另一種寫法 print (['%s' % (i) for i in range(1,10)]) # 列印出 list ['1', ......'9']
print ''.join(['%s' % (i) for i in range(1,10)]) #加' '.join 則將 list ['1', ......'9'] 連接成文字輸出
首先 程式 運用 '\n'.join 將九九乘法 變成文字丟給 print 做列印
並且 將 1*1 = 1 2*1= 2 .......9 * 1= 9 用 '\n' 做換行。
print '\n'.join(['\t'.join(['%d*%d=%d' % (j,i,i*j) for i in range(1,10)]) for j in range(1,10)]
'\n'.join 加入換行 (['\t'.join 每個 1*1 = 1 相乘結果都要 '\t' tab跳格
如現在看不懂,等python學久,再回頭看這一行九九乘法,便一看就懂。
那如果要以
for x in (1,10):
for y in (1,10):
print ('%s*'%s=%s' % (x, y, x*y))
輸出 九行九排 排列整齊的九九乘法呢?
每列完一次,程式便會換行, 我們不想它換行的話,可加逗點,
所以便變成:
for x in range(1,10):
for y in range(1,10):
print ('%s*%s=%s \t' % (x,y,x*y)),
print
沒有留言:
張貼留言