我想将给定的值(输入(保存在数组中。不幸的是,它不起作用。我无法保存最后一个值,因为我收到以下错误:
---> 18 zax[k].append(abs( 索引错误:列出索引超出范围
你知道出了什么问题吗?
这是我的代码:
ax = np.array([])
k = 0
l = 0
mehrfach = int(input('Please write how often you measured your samples.n
Please write an integer. For example: Duplicates: 2; Triplicates: 3; etc.'))
werte = int(input('Please write how much samples you have.n
Please write an integer. For example: Two different samples: 2; Three different samples: 3, etc.'))
zax=[[] for k in range(mehrfach)]
#while k < (werte):
for k in range(werte):
#for k in range(werte): #samples
#while l < (mehrfach): #duplicates
for l in range (mehrfach):
abs = float(input('Please write down your measured absoprtion (float).'))
zax[k].append(abs)
l = l+1
k = k+1
print('Measured absorptions:',zax)
干杯
您应该添加验证检查以确保werte
不大于mehrfach
。 如果werte
大于mehrfach
您将在内部循环中得到一个IndexError
,尝试设置zax[k]
。
原因是您将zax
设置为具有 n 个列表的列表,其中 n 等于mehrfach
. 在您的循环中,您正在尝试设置一个zax[k]
列表项,其中 k 是从werte
定义的。 如果werte
>mehrfach
,您将尝试在内部循环中设置不存在的值zax[k]
,并且正在抛出IndexError
。