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

如何实现用户输入Done/None后打印飞机偏好列表的功能?

修正后的飞机喜好输入程序

原代码的问题:

  • input函数的字符串直接换行会触发语法错误,Python不允许普通字符串内直接换行
  • 判断输入是否为"None"类选项时,用==和元组比较永远不成立,应该用in检查输入是否在目标值集合里
  • elif Planes.append(Plane)逻辑完全错误:append方法返回None,这个分支永远不会触发,且添加元素的逻辑不该放在条件判断里
  • else分支里的Plane == ("Done")是无效的比较语句,不是判断逻辑,且整体判断顺序颠倒,应该先处理"Done"终止输入的情况

修正后的代码:

favorite_planes = []  # 初始化空列表存储喜好飞机

while True:
    # 修正输入语句的语法问题,优化提示语让用户明确操作规则
    plane_input = input("请输入你喜爱的飞机(输入Done结束输入,输入None表示没有喜爱的飞机):")
    # 先处理"无喜好"的终止输入
    if plane_input in ("None", "I have none", "What's a plane?"):
        print("用户没有喜爱的飞机。")
        break
    # 再处理"结束输入"的请求
    elif plane_input == "Done":
        print("你喜爱的飞机列表:", favorite_planes)
        break
    # 其余有效输入添加到列表并反馈当前状态
    else:
        favorite_planes.append(plane_input)
        print(f"已添加:{plane_input},当前列表:{favorite_planes}")

逻辑说明:

  • 调整判断顺序:先处理两类终止输入(无喜好/结束输入),再处理添加元素的逻辑,符合正常交互流程
  • 用in实现多值匹配,解决原代码的比较错误
  • 修正input语句的语法问题,同时通过提示语明确告知用户操作规则
  • 移除无效的比较语句,将添加元素的逻辑放在合理分支,确保每一次有效输入都能正确存入列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:01:44