2016-11-28 110 views
-4

我認爲下面的代碼片段是用python 3編寫的,而我的python 2不能運行它。 '結束'有一些問題。我怎麼修復它?我不知道什麼是結束後的邏輯我是非常新的python從python 3到Python 2(print())

任何幫助非常感謝!

def myPrint(itp): 
    for i in range(10): 
     print("**",end=="") 
     for j in range(10): 
      print(itp[i][j],"**",end=="") 
     print() 
+0

「有些問題」...你有沒有試過閱讀關於Python 2的'print'語句和Python 3的'print'函數?它看起來像你有一個錯誤信息,並立即問一個問題,而沒有做任何研究(在問一個新問題之前,你會這樣做)。 – TigerhawkT3

回答

0

你在你的代碼的兩個錯誤,你需要end=""更換兩end==""。您不應該將參數end與空字符串進行比較,但您希望以空字符串結束打印,因此請爲參數end分配一個參數。

Python 3.x中,end=''部分將在顯示的字符串而不是換行符後面放置任何參數end(此處爲空字符串)。

如果你想擁有的python2python3打印功能,只需要做一個import:

from __future__ import print_function 
+0

我知道,但我得到一個錯誤SyntaxError:無效的語法 – StatLearner

+0

你能顯示錯誤嗎? – Jarvis

+0

現在好了它變得越來越好了,但它不會允許我打印如下簡單表達式:print var – StatLearner

0

(我假設雙==後end是一個錯字結束爲kwarg決定結束線;代碼可能原本是print("**",end="")一個=字符)

要獲得打印功能的語義,你可以設置__future__ flag print_function,用

開始您的文件0
from __future__ import print_function 

請注意,在Python 2下運行完整的Python 3程序所需的更改比簡單啓用某些未來標誌(當您添加它時,考慮啓用unicode_literals)要廣泛得多。到目前爲止,運行Python 3程序的最簡單方法是安裝Python 3解釋器。