Python实现九九乘法表

Python | 2010-06-01 18:02:55 | 阅读 4227 次 | 评论(3)
常规版(最容易理解):
for i in range(1,10):
    for j in range(1,i+1):
        print '%d*%d=%d' %(i,j,i*j),
    print
 
函数式版:
for i in range(1,10):
    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)])
 
还是用常规的方式最容易理解,对代码后期维护也有好处
文章评论,共3条
Avatar
1楼: 变幻小子 发表于 2011-03-18 12:57   回复
#include&lt;stdio.h&gt;<br />
void main(&nbsp;&nbsp;)<br />
{<br />
&nbsp; &nbsp; &nbsp; &nbsp; int i,j;<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;for(i=1;i&lt;=9;i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(j=1;j&lt;=i;j++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf(&quot;%4d&quot;,i*j);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;printf(&quot;\n&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
}
Avatar
2楼: tomjava 发表于 2011-03-18 13:56   回复
王牌版本:<br />
在这里我只简单的写几句话;<br />
1x1=1<br />
1x2=2 2x2=4<br />
1x3=3 2x3=6 3x3=9这是乘法表的格式吧!各位可以尝试一下几句代码<br />
for(int i=1;i&lt;9;i++)<br />
{<br />
for(int j=1;j&lt;=i;j++)<br />
{<br />
string str=j+&quot;*&quot;+i&quot;=&quot;j*i;<br />
System.out.println(str+&amp;nbsp);<br />
}<br />
System.out.println();<br />
}
Avatar
3楼: tomjava 发表于 2011-03-18 13:57   回复
修改一句代码for(int i=1;i&lt;=9;i++)
游客请输入验证码
浏览1889950次
文章归档
最新评论
  • 神犇dengyuhy:语文很好
  • 猫云:学习 学习