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

Python交互式学生管理程序无法正常退出问题求助

问题排查与解决

问题原因

程序输入4后无法终止的核心问题是循环条件未被正确终止:

  • 初始ans = True进入循环,后续ans被赋值为用户输入的字符串(如"4")
  • 输入"4"时,代码仅打印"Goodbye",但未修改ans的值。此时ans是字符串"4",Python中所有非空字符串都会被判定为True,循环因此持续执行

修复方案

提供两种简单有效的修复方式:

方式1:将ans设为False终止循环

在ans == "4"的分支中添加ans = False,让循环条件不成立:

ans = True
while ans:
    print("""
    1.Add a Student
    2.Delete a Student
    3.Look Up Student Record
    4.Exit/Quit
    """)
    ans = input("What would you like to do? ")
    if ans == "1":
        print("\nStudent Added")
    elif ans == "2":
        print("\nStudent Deleted")
    elif ans == "3":
        print("\nStudent Record Found")
    elif ans == "4":
        print("\nGoodbye")
        ans = False  # 修改ans为False,终止循环
    elif ans != "":
        print("\nNot Valid Choice Try again")

方式2:用break直接跳出循环

在ans == "4"的分支中添加break语句,直接终止当前循环:

ans = True
while ans:
    print("""
    1.Add a Student
    2.Delete a Student
    3.Look Up Student Record
    4.Exit/Quit
    """)
    ans = input("What would you like to do? ")
    if ans == "1":
        print("\nStudent Added")
    elif ans == "2":
        print("\nStudent Deleted")
    elif ans == "3":
        print("\nStudent Record Found")
    elif ans == "4":
        print("\nGoodbye")
        break  # 直接跳出循环
    elif ans != "":
        print("\nNot Valid Choice Try again")

注:原代码中print语句的换行符格式错误(如print(" Student Added")),上述修复代码已统一修正为print("\nStudent Added"),避免语法报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:07:46