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

Python新手求助:循环录入学生姓名程序仅3次后停止如何解决?

问题排查与修正方案

嗨,我来帮你看看问题出在哪~你的代码里有几个关键小错误,导致它只能录入3个姓名就停止:

错误点分析

  • 误解了list.append()的返回值:studentnames.append(input(...))确实会把输入的名字添加到列表,但append()方法本身的返回值是None,不是用户输入的内容。你把它赋值给inp后,inp实际一直是None,这直接打乱了后续的循环判断逻辑。
  • 多余的break语句:你的while循环里写了break,这会让循环只执行一次就直接终止,自然没法持续接收输入。
  • 拼写错误:最后for循环里的lette是letter的笔误,运行时会触发报错。

修正后的代码

这里给你调整好的代码,完全实现「持续提示输入直到空字符串停止」的功能:

studentnames = []
while True:
    name = input("Enter a name: ")
    if name == "":
        break
    studentnames.append(name)

print(studentnames)
# 遍历输出,注意修正拼写错误
for index, name in enumerate(studentnames, 1):
    print(index, ":", name)

代码逻辑说明

  • 用while True创建无限循环,直到遇到break才停止
  • 每次先获取用户输入的名字,判断如果是空字符串,就跳出循环
  • 如果输入不为空,就把名字添加到列表里
  • 最后用enumerate从1开始编号,正确遍历输出每个姓名

这样修改后,你就能一直输入姓名,直到直接按回车(输入空字符串)才会停止啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:22:10