我收到以下错误,似乎无法弄清楚如何解决。按照逻辑,我将 3 个函数和所有 3 个返回值调用为 float,然后对存储的返回值执行一些数学运算并将其打印为 float。那么哪里出了问题呢?我为 A 面输入 4,在 B 面输入 5。
错误消息:
输入A面长度:4.0 输入B面长度:5.0
Traceback (most recent call last):
File "python", line 26, in <module>
File "python", line 9, in main
File "python", line 24, in calculateHypotenuse
TypeError: unsupported operand type(s) for ^: 'float' and 'float'
import math
def main():
#Call get length functions to get lengths.
lengthAce = getLengthA()
lengthBee = getLengthB()
#Calculate the length of the hypotenuse
lengthHypotenuse = calculateHypotenuse(float(lengthAce),float(lengthBee))
#Display length of C (hypotenuse)
print()
print("The length of side C 'the hypotenuse' is {}".format(lengthHypotenuse))
#The getLengthA function prompts for and returns length of side A
def getLengthA():
return float(input("Enter the length of side A: "))
#The getLengthA function prompts for and returns length of side B
def getLengthB():
return float(input("Enter the length of side B: "))
def calculateHypotenuse(a,b):
return math.sqrt(a^2 + b^2)
main()
print()
print('End of program!')
^
在Python中是按位XOR运算符,而不是幂运算符:
^ 运算符产生其参数的按位 XOR(独占 OR(,该参数必须是 intege
您需要改用**
,即幂运算符:
def calculateHypotenuse(a,b):
return math.sqrt(a**2 + b**2)