Python获取用户5次输入报错:列表索引越界问题求助
问题分析与解决方案
错误原因
你定义的number = [4]是一个仅包含1个元素的列表,但循环要执行5次(range(5)对应i=0到4)。当i=1时,你尝试给number[1]赋值,可这个索引位置在初始列表中根本不存在,因此会触发索引越界错误(IndexError)。
修复方案
这里提供两种简单可行的写法,适合新手理解:
方法1:用append()动态添加元素(推荐)
初始化一个空列表,每次获取用户输入后,把元素添加到列表末尾:
number = [] for i in range(5): num = int(input(f"Input number {i}: ")) number.append(num) print("Your numbers are: ", number)
方法2:先创建固定长度的列表
提前创建一个包含5个元素的列表,再逐个替换元素:
number = [0] * 5 # 创建长度为5、初始值为0的列表 for i in range(5): number[i] = int(input(f"Input number {i}: ")) print("Your numbers are: ", number)
小结
对于新手来说,方法1更直观,不需要提前考虑列表长度,append()是Python中向列表添加元素最常用的方法,能避免索引越界问题。
内容的提问来源于stack exchange,提问作者Rodolf
相关产品推荐
相关产品推荐

