You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python出现'int对象不支持项赋值'错误,如何实现成绩录入求平均值?

错误原因

你代码中初始化scores = int(),将变量定义为了整数类型,整数属于不可变的标量类型,无法使用[索引] = 值的方式进行元素赋值操作,这是触发报错的直接原因。另外你原来写的scores[int(score)] = score逻辑本身也存在问题,相当于把成绩值当成列表下标来存储,会导致大量空间浪费还容易触发索引越界问题。

修复方案

要实现多成绩录入和平均值计算,你需要调整变量类型和逻辑结构:

  • 初始化scores为空列表,用于存储所有录入的成绩
  • 录入成绩后使用列表的append()方法追加元素,无需手动处理索引
  • 简化循环逻辑,仅用一层循环控制录入流程,避免原代码中的嵌套死循环问题
  • 结束录入后用sum()求成绩总和,除以成绩总个数得到平均值
完整可运行代码
# 初始化空列表存储成绩
scores = []
while True:
    # 录入成绩并转为整数
    score = int(input("Score: "))
    scores.append(score)
    # 询问是否继续录入
    again = input("输入N继续录入,输入F结束录入并计算平均值:")
    if again == "F":
        # 计算平均值
        average = sum(scores) / len(scores)
        print(f"所有录入成绩:{scores}")
        print(f"平均分为:{average:.2f}")
        # 结束循环
        break

内容的提问来源于stack exchange,提问作者Maple1508

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:15:03