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

如何访问for _ in range(5)循环中第1个位置的name变量值?

问题分析与解决

你的代码里name变量在每次循环中都会被新输入的值覆盖,最终它只保留最后一次输入的内容;而报错TypeError: 'int' object is not subscriptable,大概率是你某次输入的name被处理成了整数类型(比如误将代码写成name = int(input()),或者输入纯数字后做了类型转换)——整数无法通过下标访问。

要实现“访问第1个位置的name变量值”(即第一次输入的完整name),你需要把每次输入的name存储到列表里,而非每次覆盖单个变量:

修改后的代码

# 初始化空列表存储所有输入的name和score
names = []
scores = []

for _ in range(5):
    name = input()
    names.append(name)  # 将当前输入的name加入列表
    score = float(input())
    scores.append(score)  # 可选:同步存储对应分数

# 访问第一次输入的name(Python列表下标从0开始)
print(names[0])

额外说明

  • 如果你是想获取某单个输入name的第一个字符(比如输入"Bob"取"B"),只要保证name是字符串类型(原代码中input()默认返回字符串),直接用name[0]即可,但这和你要的“第1个位置的name变量值”不是同一概念。
  • 若仍出现int类型报错,检查代码里是否误将name转成了整数(比如name = int(input())),这种情况要去掉类型转换,保持name = input()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:52:08