作者在 2010-06-01 18:02:55 发布以下内容
常规版(最容易理解):
for i in range(1,10):
for j in range(1,i+1):
print '%d*%d=%d' %(i,j,i*j),
print
for j in range(1,i+1):
print '%d*%d=%d' %(i,j,i*j),
函数式版:
for i in range(1,10):
print ''.join(map(lambda x:'%d*%d=%d' %(x,i,i*x), range(1,i+1)))
print ''.join(map(lambda x:'%d*%d=%d' %(x,i,i*x), range(1,i+1)))
号称最简版(看似仅有一行,其实把简单的问题搞的贼复杂了,不建议这种方式):
print '\n'.join([ ' '.join([ "%d*%d=%2s" %(y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)])
还是用常规的方式最容易理解,对代码后期维护也有好处