【问题标题】:why does my function is returning data type None??: Python datatype None为什么我的函数返回数据类型无??:Python 数据类型无
【发布时间】:2016-02-05 16:08:00
【问题描述】:

这是我用于打印绝对数字的 python 代码。我的函数返回类型None。我没有得到我做错了什么。请帮我。

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

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

【问题讨论】:

  • 如果你没有从函数中显式返回一些东西,那么 python 会隐式地在末尾添加一个 return None
  • 因为num &gt;= 0时不返回任何内容,所以改为返回默认值。默认为None
  • 如果您致电n(42),您认为会发生什么?
  • 已经有绝对值函数import math; return math.fabs(-42)
  • 请记住,input 返回的是 string,因此您永远不会从函数中返回绝对值。

标签: python pycharm nonetype


【解决方案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

谢谢你:)

【讨论】:

    【解决方案2】:

    return 处于状态。试试看:

    def n(num):
        if num<0:
            num *= -1
        return num
    
    no = int(input("Enter a number: "))
    print "Absolute Value is: "
    print n(no)
    

    【讨论】:

      【解决方案3】:

      你真的不需要你自己的函数来获得绝对值......

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

      【讨论】:

      猜你喜欢
      • 2022-07-06
      • 2020-01-20
      • 2017-03-27
      • 2022-07-13
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      相关资源
      最近更新 更多