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

Python自定义学生列表函数运行报错,求问题排查与修复方案

代码问题分析与修复

存在的问题

  • 函数get_student_list仅定义未调用,且内部的stdlist是局部变量,外部无法直接访问;同时打印语句中的变量名拼写错误(stdList应为stdlist,Python对大小写敏感)。
  • 条件判断顺序错误:输入空字符串时,会先进入if not iStr == "quit"分支把空值添加到列表,无法触发elif iStr == ""的错误提示。
  • 误用sum()函数处理字符串列表:sum()用于数值求和,不能直接处理字符串列表,会引发类型错误。
  • 变量x未参与实际逻辑,属于冗余代码。

修复后的代码

def get_student_list():
    stdlist = []
    while True:
        iStr = input('Please enter a new student name, ("quit" if no more student): ')
        if iStr == "quit":
            break
        if iStr == "":
            print("Empty student name is not allowed.")
            continue
        stdlist.append(iStr)

# 调用函数获取学生列表
student_list = get_student_list()
print(f'The whole class list is {student_list}')

修复说明

  • 调用函数并接收返回的列表,解决局部变量无法访问的问题,同时修正变量名拼写错误。
  • 调整判断顺序:先判断是否输入"quit",再检查是否为空,最后添加有效姓名到列表,确保逻辑符合需求。
  • 移除冗余变量x,用while True结合break简化循环逻辑,代码更简洁。
  • 直接输出列表,替换错误的sum()调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:15:29