1.append() 往空表添加元素,构成列表,否则下标会溢出
def initwn(n):
w=[]
for k in range(n):
real = math.cos(2*math.pi/n*k)
imag = -1*math.sin(2*math.pi/n*k)
c = complex(real,imag)
w.append(c) #append往空列表中添加元素
return w
2.def 中 传递列表型参数不需要加*
正确:
def output(x):
print("The results are:")
for i in range(len(x)):
print(x[i].real)
if (x[i].imag >= 0.0001):
print("+",x[i].imag,"j")
elif(math.fabs(x[i].imag) < 0.0001):
print("\n")
else:
print(x[i].imag,"j\n")
return 0
错误:
def output(*x):
print("The results are:")
for i in range(len(x)):
print(x[i].real)
if (x[i].imag >= 0.0001):
print("+",x[i].imag,"j")
elif(math.fabs(x[i].imag) < 0.0001):
print("\n")
else:
print(x[i].imag,"j\n")
return 0
3.IndexError: list index out of range 原因
(1)python中 若用
a=[ ]
a.append(x)
构建数组,很容易下标溢出,因为数组的大小就是当前总的元素个数
(2)解决方法:定义一个固定长度的空数组,再修改数组中的元素数值
x = [0 for i in range(1000)] #定义一个长度为1000的空数组
x[i]=233