我编写了以下简单的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 = ' % (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 =
在=
符号后显示结果我错过了什么?
答案 0 :(得分:1)
您的功能仅打印公式部分。您永远不会打印Python表达式的结果。 return
与print()
不同。
您可能会对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))
答案 1 :(得分:0)
您return x + y
来自函数add
内部,因此值x + y
将被发送到您调用它的任何位置。但是,在呼叫网站,您只需拥有add(x, y)
;可以这么说,你并没有“抓住”它。你可以尝试:
result = add(x, y)
print(result)
或简单地说:
print(add(x, y))