def add(a,b):
print "Adding %d and %d" %(a,b)
return a+b
def subtract(a,b):
print "Subtracting %d from %d" %(a,b)
return a-b
def multiply(a,b):
print "Multiplying %d and %d" %(a,b)
return a*b
def divide(a,b):
print "Divide %d and %d" %(a,b)
return a/b
print "Let's do some math"
age = add(30,5)
height = subtract(78,4)
weight = multiply(90,2)
iq= divide(100,2)
print "Age: %d, Height : %d, Weight: %d, IQ: %d" % (age, height, weight, iq)
print "Here's a puzzle"
what = add(age, subtract(height, multiply(weight, divide(iq,2))))
print "That becomes:", what, "Can you do it by hand?" #line25
输出:
让我们做一些数学
添加30和5
从4
减去78乘以90和2
除以100和2
年龄:35岁,身高:74,体重:180,智商:50
这是一个难题
除以50和2
乘以180和25
从4500减去74
添加35和-4426
那变为:-4391你能用手做吗?
我的问题:我觉得,看看第25行的print命令,输出保持不变直到“这是一个谜题”。所以,输出应该是:
这是一个难题
那变为:
除以50和2
乘以180和25
从4500减去74
添加35和-4426
-4391你能手工完成吗?
因为,明确打印“那变成:”即将到来之前。那么,为什么最终输出会有所不同? 谢谢!
答案 0 :(得分:0)
当你定义what
你的函数时,使用所有的print语句。因此,每次调用函数时都会执行这些操作。当您说what = ...
时,您正在调用add
,subtract
,multiply
和divide
函数,并且所有函数在执行时都会打印出一条语句。
要解决此问题,您应该在定义what
之前打印“That Becomes”,我想您会看到您希望看到的内容。
答案 1 :(得分:0)
在每个函数中,都有一个print语句,一旦执行就会打印文本。
所以"什么"变量保存计算值,它将具有所有可打印语句