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

使用for循环将输入列表转为大写时报属性错误的解决方法

问题根因

你遇到属性错误的核心原因是:

  • 循环遍历初始的整数列表时,循环变量i是整数类型,你如果直接对i调用字符串专属的.upper()方法,整数不存在该方法,就会抛出属性错误。
  • 现有代码没有做输入内容转大写的逻辑,无法实现大写打印的需求,且初始列表用整数占位的写法很容易在后续处理时混淆元素类型,触发类型相关报错。
修正方案

直接在接收输入时就把内容转为大写再存入列表,不要用初始整数列表遍历的易出错写法,参考代码:

# 初始化存储10个名字的列表
x = []
for _ in range(10):
    # 接收输入后直接转大写存入列表
    x.append(input("Enter your name").upper())
print(x)

如果你一定要保留预先初始化固定长度列表的写法,用索引遍历的方式更稳妥,不会出现类型混淆问题:

x = [0,1,2,3,4,5,6,7,8,9]
for i in range(len(x)):
    input_content = input("Enter your name")
    x[i] = input_content.upper()
print(x)

注意:不要在for i in x的循环里直接对i调用字符串方法,循环过程中i的类型会随着你替换列表元素发生变化,非常容易触发类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.11 16:16:24