Python 学习第八步练习21写出一个公式

Python 学习第八步练习21写出一个公式,python,python-2.7,Python,Python 2.7,我试图解决问答练习21中的数学问题,24+34/100-1023。 使用函数: def add(a, b): print "ADD %d + %d" % (a, b) return a + b def subtract(a, b): print "SUBTRACT %d - %d" % (a, b) return a - b def divide(a, b): print "DIVIDE %d / %d" % (a, b) return a /

我试图解决问答练习21中的数学问题,24+34/100-1023。 使用函数:

def add(a, b):
    print "ADD %d + %d" % (a, b)
    return a + b

def subtract(a, b):
    print "SUBTRACT %d - %d" % (a, b)
    return a - b

def divide(a, b):
    print "DIVIDE %d / %d" % (a, b)
    return a / b

print "Solve 24 + 34 / 100 - 1023?"
what = subtract(add(24, divide(34,100)),1023)

print "The Answer is", what
我得到的答案是-999 但当我用计算器计算时,我得到=-998.66

如何用十进制得到答案

您需要返回浮点值,而不是整数。这样做:

def add(a, b):
    print "ADD %d + %d" % (a, b)
    return float(a + b) # WE RETURN A FLOAT

def subtract(a, b):
    print "SUBTRACT %d - %d" % (a, b)
    return float(a - b) # WE RETURN A FLOAT

def divide(a, b):
    print "DIVIDE %d / %d" % (a, b)
    return float(a / b) # WE RETURN A FLOAT

print "Solve 24 + 34 / 100 - 1023?"
what = subtract(add(24, divide(34.0,100)),1023)

print "The Answer is", what
您将获得以下输出:

Solve 24 + 34 / 100 - 1023?
DIVIDE 34 / 100
ADD 24 + 0
SUBTRACT 24 - 1023
The Answer is -998.66

要使除法在Python2.x中正常工作,您需要从_future__导入除法。