不能使用特定值来计算不同的变量

Can't use specific values to calculate with different variables

我收到一条错误消息,提示我无法将两个特定值的变量相乘。

TypeError: can't multiply sequence by non-int of type 'str'

我正在尝试在 python 中为学校做一个勾股定理。我需要将它放在浮点数中以获得十进制数。

我已经尝试了几种不同的方法,

    l_1 = float(input())
    l_1 = float(l_1)
    l_1 = str(l_1)
    print ("The long side is: " + l_1)
    l_2 = float(input())
    l_2 = float(l_2)
    l_2 = str(l_2)
    print ("The short side is: " + l_2)
    l_2 = int(l_2)
    l_1 = int(l_1)
       
    l_1 = int(l_1)
    l_2 = int(l_2)
        
    wor1 = math.sqrt(l_1 * l_1 - l_2 * l_2)
    print (wor1)

我希望输出是没有任何错误代码的实际答案,我只需要它根据给定的变量进行计算。

只打印浮点值本身,不需要首先将它们转换为字符串

l_1 = float(input())
print ("The long side is: ", l_1)
l_2 = float(input())
print ("The short side is: ", l_2)

wor1 = math.sqrt(l_1 * l_1 - l_2 * l_2)
print (wor1)

对代码进行一些更改,您就可以开始了。

请注意,在计算平方根时,请注意在 sqrt 函数中传递平方的绝对差。使用它,您可以删除小边和大边的约定。只需取两侧,代码将为您处理。

import math

l_1 = float(input())
print ("The long side is: " + str(l_1))
l_2 = float(input())
print ("The short side is: " + str(l_2))

difference = float(l_1 * l_1 - l_2 * l_2)
# Take absolute difference since square roots of negative numbers are undefined
absolute_difference = math.fabs(difference)

# Get square root of the absolute difference 
wor1 = math.sqrt(absolute_difference)
print (wor1)