刚学习Python时候,我们可能移植过下面的程序
class PrintTable(object):
'''打印九九乘法表'''
def __init__(self):
print("开始打印9X9的乘法表格")
self.print99()
def print99(self):
for i in range(1,10):
for j in range(1,i+1):
print('%dX%d=%2s ' %(j,i,i*j))
print("\n")
if __name__ == '__main__':
pt = PrintTable()
结果输出的结果是图1所示
图1
CSDN的一个博主分析了这个原因,确实是由于我们Python3中的print函数s输出后是默认换行,如果我们需要函数在输出以后不换行,那么需要在print函数后面加end="",具体语法
print("Hello,Python",end="")
修改程序后,如下
class PrintTable(object):
'''打印九九乘法表'''
def __init__(self):
print("开始打印9X9的乘法表格")
self.print99()
def print99(self):
for i in range(1,10):
for j in range(1,i+1):
print('%dX%d=%2s ' %(j,i,i*j),end="")
print("\n")
if __name__ == '__main__':
pt = PrintTable()
得到图2的结果
图2
问题还没有完,细心的朋友可能会问,图1的变量j每个for循环之间空格是两行,而图2的变量j的每个for循环的空格是1行,其实这个也是和上面同样的道理,程序中的
print("\n")其实换了两行,只需要更改程序为 print("\n",end=""),得到图3所示的结果
图3
希望给心中有疑惑的朋友有帮助