我怎样才能将这些输入分开并仍然使它们浮动?

How can I separate these inputs and still make them a float?

三角形根据边长可分为等边三角形、等腰三角形 或斜角肌。等边三角形的所有 3 条边的长度都相同。等腰 三角形的两条边等长,第三条边长不同 长度。如果所有边的长度都不同,则三角形是不等边三角形。 编写一个程序,从用户那里读取三角形 3 条边的长度。 显示指示三角形类型的消息

这是我的代码,它不起作用:

    #this code doesn't work for some reason: 
s1, s2, s3 = float(input('Enter three sides (separated by comma): ').split(','))
    
    if s1 == s2 and s2 == s3:
        print('Equilateral')
    elif (s1 == s2 and s2 != s3) or (s1 == s3 and s2 != s3) or (s2 == s3 and s1 != s2):
        print('Isosceles')
    else:
        print('Scalene')

我错过了什么?

您的代码不起作用的原因是 split() 是一个字符串函数。您不能将它用于整数或浮点数。 所以,它需要像这样

s1, s2, s3 = input('Enter three sides (separated by comma): ').split(',')

您似乎在尝试将字符串列表转换为浮点数列表。这不起作用。

我会用这样的东西:

str1, str2, str3 = input('Enter three sides (separated by comma): ').split(',')
s1 = float(str1)
s2 = float(str2)
s3 = float(str3)

或者列表理解:

s1, s2, s3 = [float(s) for s in input('Enter three sides (separated by comma): ').split(',')]