2016-08-01 72 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])