Python 为什么我没有得到预期的输出?
我编写了以下简单的Python脚本:Python 为什么我没有得到预期的输出?,python,Python,我编写了以下简单的Python脚本: def add(x,y): print '%d + %d = ' % (x,y) return x+y def subtract(x,y): print '%d - %d = ' % (x,y) return x-y def multiply(x,y): print '%d x %d = ' % (x,y) return x*y def divide(x,y): print '%d / %d =
def add(x,y):
print '%d + %d = ' % (x,y)
return x+y
def subtract(x,y):
print '%d - %d = ' % (x,y)
return x-y
def multiply(x,y):
print '%d x %d = ' % (x,y)
return x*y
def divide(x,y):
print '%d / %d = ' % (x,y)
return x/y
x = 8
y = 4
add(x,y)
subtract(x,y)
multiply(x,y)
divide(x,y)
问题是我没有得到每个操作的结果,输出如下所示:
8 + 4 =
8 - 4 =
8 x 4 =
8 / 4 =
在
=
符号后显示结果,我缺少了什么?您从函数add
内部返回x+y
,因此值x+y
将被发送到您调用它的任何地方。然而,在呼叫站点,您只需添加(x,y);可以说,你没有“抓住”它。你可以试试:
result = add(x, y)
print(result)
或者简单地说:
print(add(x, y))
函数只打印方程部分。您永远不会打印Python表达式的结果<代码>返回与打印()不同 您可能会对Python交互式解释器模式的行为感到困惑,在该模式下,在
>>
提示符处执行的任何表达式的结果都会被回显(除非它生成特殊值None
)。运行脚本不能做到这一点,表达式不会以这种方式自动回显。您需要显式打印结果:
def add(x,y):
result = x + y
print '%d + %d = %' % (x, y, result)
return result
不过,最好不要在这样的函数中打印。如果您想使用该函数而不是打印方程式和结果,则必须创建一个新函数。最好在函数外部打印:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
x = 8
y = 4
print '%d + %d = %d' % (x, y, add(x, y))
print '%d - %d = %d' % (x, y, subtract(x, y))
print '%d * %d = %d' % (x, y, multiply(x, y))
print '%d / %d = %d' % (x, y, divide(x, y))
打印(添加(x,y))
?您从未对返回值进行过任何操作?如果您在交互模式下向解释器中键入表达式,Python将自动打印其值,但这只是一个交互操作<代码>返回和打印
执行几乎不相关的作业。