Python基于字典构建简易记事本程序示例

山海之间
山海之间
发布时间:2026-10-13| 5人浏览过
原创

本文展示了一个使用Python字典数据结构实现的简易记事本程序。该程序支持事件的添加、更新、查看与删除功能,通过命令行交互实现数据持久化管理。代码包含欢迎界面、日期格式化输出及循环菜单逻辑,适合初学者理解字典在数据存储中的应用。

Python字典记事本程序实现

本示例介绍了如何利用Python中的字典(Dictionary)类型来构建一个功能简单的记事本应用。该实现旨在为读者提供清晰的代码参考,便于学习和实际开发中的借鉴。


from time import sleep, strftime
user = "Cytus"
calendar = {}
def welcome():
  print "Welcome to use this calendar. %s" % user
  print "Calendar is opening."
  sleep(1)
  print strftime("%A %B %d %Y")
  print strftime("%H:%M:%S")
  sleep(1)
  print "What would you like to do?"
def start_calendar():
  welcome()
  start = True
  while start:
    user_choice = raw_input("A to add, U to Update, V to View, D to Delete, X to Exit: ")
    user_choice = user_choice.upper()
    if user_choice == "V":
      if len(calendar.keys()) < 1:
        print "The calendar is empty."
      else:
        print calendar
    elif user_choice == "U":
      date = raw_input("What date? ")
      update = raw_input("Enter the update: ")
      calendar[date] = update
      print "Update successful."
      print calendar
    elif user_choice == "A":
      event = raw_input("Enter event: ")
      date = raw_input("Enter date (MM/DD/YYYY): ")
      if (len(date) > 10) or int(date[6:]) < int(strftime("%Y")):
        print "invaild date."
        try_again = raw_input("Try again? Y for yes, N for No: ")
        try_again = try_again.upper()
        if try_again == "Y":
          continue
        else:
          start = False
      else:
        calendar[date] = event
        print "Successfully added."
        print calendar
    elif user_choice == "D":
      if len(calendar.keys()) < 1:
        print "The calendar is empty."
      else:
        event = raw_input("What event? ")
        for date in calendar.keys():
          if calendar[date] == event:
            del calendar[date]
            print "Delete successfully."
            print calendar
          else:
            print "incorrect event was specified."
    elif user_choice == "X":
      start = False
    else:
      print "invalid input."
      start = False
start_calendar()

程序运行时的交互界面如下所示:

>>> Welcome to use this calendar. Cytus Calendar is opening. Thursday August 15 2019 11:25:13 What would you like to do? A to add, U to Update, V to View, D to Delete, X to Exit: A Enter event: www.jb51.net Enter date (MM/DD/YYYY): 08/15/2019 Successfully added. {'08/15/2019': 'www.jb51.net'} A to add, U to Update, V to View, D to Delete, X to Exit: V {'08/15/2019': 'www.jb51.net'} A to add, U to Update, V to View, D to Delete, X to Exit: A to add, U to Update, V to View, D to Delete, X to Exit: X >>>

如需进一步了解Python相关技术,建议参考本站发布的《Python字典操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python函数使用技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》以及《Python入门与进阶经典教程》等专题文章。

上述代码示例旨在帮助读者掌握Python程序设计的基本逻辑,希望内容对您的学习与实践有所助益。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。