前言
因為工作的需要,最近看了看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所示,

圖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的正常結果了。
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答