定义一个函数hypotenuse(a, b)
,如果其他两边的长度为c
和a
,则返回斜边b
的长度。
import math
def hypotenuse(a, b):
print(b = (math.sqrt((a**2)-(b**2)))
答案 0 :(得分:2)
def hypotenuse(a, b):
return math.sqrt((a**2) + (b**2)) # ... SUM of the squares ...
但是,由于您要导入math
,为什么不
def hypotenuse(a, b)
return math.hypot(a, b)
答案 1 :(得分:1)
第一个问题是您无法在Python中为表达式分配变量。
我不确定你为什么要首先以这种方式重新分配b
。但是如果你愿意,你必须将它移到自己的声明中。 (虽然我们正在使用它,但我将删除两层多余的parens并添加一些空格以使其更具可读性。)
b = math.sqrt(a**2 - b**2)
print(b)
如果不想要(因为你还没有做任何事情),那就不要这样做了:
print(math.sqrt(a**2 - b**2))
第二个问题是你实际上并没有return
任何东西,只是print
出了问题。如果您在没有return
语句的情况下脱离函数的末尾,则返回None
。所以,改成它:
return math.sqrt(a**2 - b**2)
正如gnibbler解释的那样,你的第三个问题是你的算法错了。斜边的平方是正方形的和,而不是差异。所以:
return math.sqrt(a**2 + b**2)