2016-02-05 140 views
-4

这是我的python代码打印绝对数字。我的功能是返回类型None。我没有得到我做错了什么。请帮帮我。为什么我的函数返回数据类型无??:Python数据类型无

def n(num): 
    if num<0: 
     return (num*-1) 

no = input("Enter a number: ") 
print "Absolute Value is: " 
print n(no) 
+1

如果不明确地从一个函数返回的东西那么Python隐含把'返回None'最后。 – Jkdc

+4

由于'num> = 0时不返回任何内容,所以返回默认值。默认值是'None'。 –

+0

如果你打电话给'n(42)',你会怎么想呢? – njzk2

回答

1
def n(num): 
    if num<0: 
     return (num*-1) 
    else: 
     return num 


no = input("Enter a number: ") 
print "Absolute Value is: " 
print n(no) 

写一个else语句将返回NUM> = 0

谢谢:)

0

return上的条件。尝试:

def n(num): 
    if num<0: 
     num *= -1 
    return num 

no = int(input("Enter a number: ")) 
print "Absolute Value is: " 
print n(no) 
0

你真的不需要为绝对值自己的函数...

no = input("Enter a number: ") 
print "Absolute Value is: ", abs(no) 
+0

谢谢你:)我不知道abs函数() –

+0

是的,有一个[内置函数]的整个表格(https://docs.python.org/2/library/functions.html) –