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

报错TypeError: 'str' object cannot be interpreted as an integer,批量创建学生姓名失败求助

解决你的学生姓名录入代码错误

咱们先说说报错的核心原因:你用input()获取的学生数量n默认是字符串类型,但range()函数要求必须传入整数参数,直接把字符串丢给range自然会触发TypeError: 'str' object cannot be interpreted as an integer这个错误。

另外你的代码还有几个小细节需要调整:

  • Python是大小写敏感的,循环变量I、大写的Print都不符合规范,得改成小写的i和print
  • 每次循环里的stud_name会被新输入覆盖,要是想留存所有学生姓名,最好用列表来存储

给你修正后的完整代码:

# 将输入的数字字符串转为整数类型
n = int(input("enter number of students: "))
# 初始化列表用于存储所有学生姓名
student_names = []
for i in range(n):
    name = input("enter the name of student: ")
    student_names.append(name)
    print(name)

# 可选:打印所有录入的学生姓名
print("All student names:", student_names)

关键改动说明:

  • int(input(...)):把用户输入的数字字符串转换成整数,让range(n)能正常执行循环
  • 新增student_names列表,避免每次输入的姓名被覆盖,方便后续复用数据
  • 统一了变量名和函数名的大小写,符合Python的代码规范

这样运行代码就不会报错啦,还能完整保存所有学生的姓名~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:17:54