【问题标题】:Python: Function does not seem to return any valuePython:函数似乎没有返回任何值
【发布时间】:2018-03-13 07:50:02
【问题描述】:

这是比较函数:

def compare(a, b):

    if a > b:
        return 1

    elif a == b:
        return 0

    else:
        return -1


a=int(input('Enter first number here:'))

b=int(input('enter second number here:'))

compare(a,b)

当我运行它时,它会提示用户输入 a 和 b,但是在输入它们之后,程序什么也不做,它什么也不返回。 为什么会这样?

【问题讨论】:

  • 因为您从不打印出来。试试print(compare(a,b))
  • 也许您在交互式解释器中尝试过这个?在交互式 shell 中,您执行的任何不产生None 的表达式都会被回显。但这仅发生在交互式解释器中,因为对于真正的生产脚本,您不希望所有内容都一直被回显。你需要明确写出你想出现在屏幕上的东西。

标签: python function compare


【解决方案1】:

return 关键字返回数据。如果要查看输出,请使用print。 试试

print(compare(a, b))

比较函数会将return 的数字,print 打印到控制台/IDLE

【讨论】:

  • 好的,我会试试的,谢谢。当我尝试使用 python shell 来创建函数时,return 关键字确实打印了它后面的数字。这是为什么呢?
  • return 关键字用于函数中要输出值时。 print 用于在控制台中显示文本。
  • 好的,谢谢您的宝贵时间,我尝试了 print(compare(a,b)) 并且效果很好。
【解决方案2】:

你需要一个打印语句。

def compare(a, b):
    if a > b:
        return 1

    elif a == b:
        return 0

    else:
        return -1

a = int(input('Enter first number here:'))
b = int(input('Enter second number here:'))

print(compare(a, b)) # use this line if using python 3
# print compare(a, b) # use this line if using python 2

【讨论】:

  • 他们几乎肯定在使用 Python 3,所以你的 Python 2 print 语句会导致语法错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
  • 2014-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多