用Python编写九九乘法表考虑print自动换行问题
编写了一个简单的小程序九九乘法表,代码如下:
for i in range(1,10):
for j in range(1,i+1):
print(" %d*%d=%d" % (j,i,i*j)),
print '\n'
注意到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 '\n'
sys.stdout.write不自带自动换行,一次输出一个字符串。