交换列表中的两个值,打印输出的列表

a=input().split()
n,m=eval(input())
if n<-len(a) or n>=len(a) or m<-len(a) or m>=len(a):
    print("error")
else:
    a[n],a[m]=a[m],a[n]
print(a)

想请问一下这样写代码为什么不可以嘞?