用Python编写九九乘法表考虑print自动换行问题

编写了一个简单的小程序九九乘法表,代码如下:

for i in range(1,10):
  for j in range(1,i+1):
    print(" %d*%d=%d" % (j,i,i*j)),
  print ' '

注意到print行末加了一个逗号,这是为什么呢。原来Python的print函数默认带有自动换行功能,这样打印出来的九九乘法表就是整整的一列,而不是九行九列。

如果不想让print函数自动换行,可以在print行末加一个逗号','。这样,其功能就相当于C中的printf了。

另外,还有一个方法让结果逐行输出,打印出九九乘法表,代码如下:

import sys
for i in range(1,10):
  for j in range(1,i+1):
    sys.stdout.write(" %d*%d=%d" % (j,i,i*j))
  print ' '

sys.stdout.write不自带自动换行,一次输出一个字符串。

原文地址:https://www.cnblogs.com/micky1989/p/3338854.html