在数组中保存值的循环出错:索引错误:列出超出范围的索引



我想将给定的值(输入(保存在数组中。不幸的是,它不起作用。我无法保存最后一个值,因为我收到以下错误:

---> 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

最新更新