2016-08-01 82 views
-2

enter image description here我想顛倒一個數字。如果92鍵入的結果應該是29的代碼如下在python中沒有得到所需的輸出

def intreverse(n) : 
    a=str(n) 
    b=a[::-1] 
    c=int(b) 
    print (c) 

給出,但我得到的結果作爲實際輸出

  • 29/N
  • 沒有/ N 爲什麼?
+4

你忘了返回反向值嗎?如果沒有指定其他值,Python函數默認返回'None'。 –

+0

請停止修理壓痕!這很可能是OP的問題的一部分。 –

+2

@MorganThrapp不太可能,縮進會產生錯誤 –

回答

2

你可能使用的過程中要你與回報寫入功能。由於你的函數沒有返回,你最終得到None。對於換行符\n:當您打印答案時,print會在打印後放置一個換行符。如果您按照建議刪除了打印語句並輸入了返回語句,則兩個問題都將被解決。

1

它看起來像你在你的文本輸入(可能是兩個?)獲取換行符。我會修復這與

a=str(n).strip() 

此外,你打印結果,我想你想要返回它。由於該函數不返回任何內容,因此a = intreverse('29')將分配Nonea。所以,你想:

def intreverse(n) : 
a=str(n).strip() 
b=a[::-1] 
c=int(b) 
return c 

或只是強制性的一行:

def intreverse(n): 
    return int(str(n).strip()[::-1])