Python实现周销售额录入统计程序,如何解决列表索引越界问题
问题修复说明
错误根因
- 列表初始化逻辑错误:
totalSales = [maxValue]实际生成的是仅含1个元素的列表,元素值为7,并非预期的长度为7的列表,访问索引≥1的位置时自然触发越界报错。 - 循环范围设置错误:
range(0, maxValue - 1)仅会循环6次,无法覆盖一周7天的输入需求。
修复代码
方案1:预分配列表长度(兼容原代码的赋值逻辑)
提前创建固定长度的列表,再按索引赋值:
maxValue = 7 # 初始化长度为7的列表,初始值统一设为0 totalSales = [0] * maxValue # 循环7次对应一周7天 for index in range(maxValue): totalSales[index] = float(input("Enter today's sales: $")) # 计算并输出总销售额 weekly_total = sum(totalSales) print(f"本周总销售额为: ${weekly_total:.2f}")
方案2:动态追加元素(Python推荐写法)
无需提前定义列表长度,通过append方法追加输入值,从根源避免索引越界问题:
maxValue = 7 totalSales = [] for _ in range(maxValue): sale = float(input("Enter today's sales: $")) totalSales.append(sale) weekly_total = sum(totalSales) print(f"本周总销售额为: ${weekly_total:.2f}")
内容的提问来源于stack exchange,提问作者Hannah D
相关产品推荐
相关产品推荐

