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

Python开发笔记增查功能时数组存值消失、查看不显示问题

简易笔记增查功能存储丢失问题修复

问题原因

  • 核心错误:存储笔记的列表noteList = []被写在了while循环内部,每次循环接收用户指令前都会执行一次列表初始化,之前存入的所有笔记会被直接重置为空。
  • 冗余逻辑错误:addNote函数被定义在循环内部,每次循环都会重复声明函数;函数内错误声明了临时变量note为全局变量,实际note只是单次输入的临时值,不需要全局声明,且函数未正确声明对noteList的访问权限。
  • 体验缺陷:view逻辑直接打印原生列表,可读性差,没有做非法输入的兼容处理。

修复后可运行代码

# 笔记列表初始化移到循环外,全局仅初始化一次
noteList = []

# 函数定义移到循环外,避免重复定义
def addNote():
    note = input("Add your notes here: ")
    noteList.append(note)
    print("笔记添加成功,当前列表:", noteList)

# 主循环
while True:
    user = input("Do you want to (View/Add) notes: ").lower()
    if user == 'view':
        print("===== 所有已存储笔记 =====")
        for i, note_content in enumerate(noteList, 1):
            print(f"{i}. {note_content}")
    elif user == 'add':
        addNote()
    else:
        print("无效指令,请输入view或add")

关键改动说明

  • 将笔记列表、功能函数的定义都移到主循环外部,保证列表不会被重复初始化,函数不会被重复创建。
  • 删除了无意义的global note声明,临时输入值直接存入列表即可,不需要占用全局变量空间。
  • 优化了查看笔记的输出格式,增加非法输入提示,使用体验更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:03:15