程序改错题 寻找完全平方数

程序改错题 寻找完全平方数
def filterLst(L):
    outL=[]
    for x in L:
        for i in range(x+1):
            if i*i==int(x):
                outL.append(x)
    return outL
L=input()
data=str(L.split(','))
for i in range(len(data)):
    data[i]=int(data[i])
result=filterLst(L)
if len(result)!=0:
    print ("完全平方数有",result)
else:
    print ("无符合要求的数!")

data[i]=int(data[i])

ValueError: invalid literal for int() with base 10: '['

求找到所有的错误帮忙修改,如果能解释一下原因就更好了,谢谢!

有问题可关注私信我,持续交流,共同学习进步

def filterLst(L):
    outL=[]
    for x in L:
        for i in range(x+1):
            if i*i==int(x):
                outL.append(x)
    return outL
L=input()
# data=str(L.split(',')) 去掉str类型转换
data=L.split(',')
for i in range(len(data)):
    data[i]=int(data[i])
# result=filterLst(L) 传入的参数应该为 List类型的data
result=filterLst(data)
if len(result)!=0:
    print ("完全平方数有",result)
else:
    print ("无符合要求的数!")

运行如下:

img