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

2024-05-03 10:30:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

---> 18 zax[k].append(abs) IndexError: list index out of range

你知道哪里出了问题吗

这是我的密码:

    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)

干杯


Tags: inyouforinputrangeabshowwrite
1条回答
网友
1楼 · 发布于 2024-05-03 10:30:39

您应该添加验证检查以确保werte不大于mehrfach。如果werte大于mehrfach,您将在试图设置zax[k]的内部循环中得到一个IndexError

原因是您将zax设置为一个包含n个列表的列表,其中n等于mehrfach。在循环中,您试图用zax[k]设置一个列表项,其中k是从werte定义的。如果werte>mehrfach您将尝试在不存在的内部循环中设置值zax[k],并且IndexError将被抛出

相关问题 更多 >