函数莫名其妙地返回了None

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
def f(name):
    try:
        a,b,c=input("请输入"+name+"的数学、英语、语文成绩,用空格隔开:").split()
        a=float(a)
        b=float(b)
        c=float(c)
        return [a,b,c]
    except ValueError:
        print("请输入三个浮点数")
        f(name)

        
运行结果及报错内容

返回了None,但我返回的明明是个列表啊!

我的解答思路和尝试过的方法
我想要达到的结果

因为进入了except,所以返回了None,虽然在下面再次调用了f,但是没有加return,没有返回到你要的地方

你没输出返回值啊,这样写:

def f(name):
    try:
        a, b, c = input("请输入" + name + "的数学、英语、语文成绩,用空格隔开:").split()
        a = float(a)
        b = float(b)
        c = float(c)
        return [a, b, c]
    except ValueError:
        print("请输入三个浮点数")
name="wds"
print(f(name))