前言
因为工作的需要,最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来,好了,话不多说了,来一起看看详细的介绍:
Python2.X中的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#!/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所示,
图1
在Linux中运行如图2,
图2
可以看出,并没有换行,原因是在Python3中,换行采用了新语法,形如print(‘*‘, end=”)
,是的,区别就是在print()
函数的第二个参数,加上了end=”,修改、运行,最后的运行结果,如图3,
图3
正常输出。
其实在上面代码中还有一个问题,接上面 问题一,xrange()
函数,如果你只是修改了print()
函数的语法,没有关注xrange()
的话,会出现下图4的情况,
图4
这里提示说'xrange' is not defined,其实就是在Python3中,xrange()函数已被整合进range()
函数了,统一使用range()
函数。
OK,修改后,就会输出图3的正常结果了。
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://blog.csdn.net/yufengicd/article/details/63296911