Python3中print函数的换行

最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来,好了,咱移步下文——

Python2.X中的代码:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
__author__ = '****'

class PrintTable(object):
    '''打印九九乘法表'''
    def __init__(self):
        print('开始打印 9 X 9 的乘法表格')
        self.print99()

    def print99(self):
        for i in xrange(1, 10):
            for j in xrange(1, i+1):
                print('%d X %d = %2s  ' %(j, i, i*j)),
            print('\n')
if __name__ == '__main__':
    pt = PrintTable()

具体的算法,横向、纵向两层循环就不说了。这里涉及两个问题:第一,在内层循环的print()函数结尾,在Pyhon2中,print()打印输出后要换行的话,是在函数末尾加一个逗号’,’,但是在Python3中运行代码会发现,加逗号并不起作用,在win中运行如图1所示,
windows中Python3运行输出
图1
在Linux中运行如图2,
Linux中Python3运行输出
图2

可以看出,并没有换行,原因是在Python3中,换行采用了新语法,形如print(‘*‘, end=”),是的,区别就是在print()函数的第二个参数,加上了end=”,修改、运行,最后的运行结果,如图3,
这里写图片描述
图3

正常输出。
其实在上面代码中还有一个问题,接上面 问题一,xrange()函数,如果你只是修改了print()函数的语法,没有关注xrange()的话,会出现下图4的情况,
这里写图片描述
图4
这里提示说’xrange’ is not defined,其实就是在Python3中,xrange()函数已被整合进range()函数了,统一使用range()函数。

OK,修改后,就会输出图3的正常结果了。
好了,先到这里,继续更新。。。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐