繁体   English   中英

为什么我的列表索引超出范围?

[英]Why is my list index out of range?

def main():
    print("You haved activated Weather Pro 3.0")
    rain_inputs()
    rain_calc()

def rain_inputs():
    global rain
    rain = []
    for x in range(1, 13):
        try:
            rain_meter = float(input("What is the rainfall? "))
            rain.append(rain_meter)
            if x == 4:
                print("8 more months to go!")
            elif x == 7:
                print("5 more months to go!")
            elif x == 9:
                print("2 more to go! Smash those keys!")
            elif x == 13:
                return
        except Exception as err:
            err = ("You should be putting in numbers!")
            print(err)

rain_calc应该用于计算所有列出的输入的总数。

def rain_calc():
    rain_math =(rain[0] + rain[1] + rain[2] + rain[3])
    rain_math2 =(rain[5] + rain[6] + rain[7] + rain[8])
    rain_math3 =(rain[9] + rain[10] + rain[11] + rain[12])
    rain_total =(rain_math + rain_math2 + rain_math3)
    print(rain_total)   

main()   

错误发生在rain-math3

Programming/RainFall.py", line 30,           in rain_calc rain_math3 =(rain[9] + rain[10] + rain[11] + rain[12])
IndexError: list index out of range

rain[12]超出范围,因为rain只有12个元素。 您错过了rain[4] ,因此您可能想要这样做:

def rain_calc():
    rain_math =(rain[0] + rain[1] + rain[2] + rain[3])
    rain_math2 =(rain[4] + rain[5] + rain[6] + rain[7])
    rain_math3 =(rain[8] + rain[9] + rain[10] + rain[11])
    rain_total =(rain_math + rain_math2 + rain_math3)
    print(rain_total)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM