Python使用字典实现的简单记事本功能示例

yipeiwu_com6年前Python基础

本文实例讲述了Python使用字典实现的简单记事本功能。分享给大家供大家参考,具体如下:

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 Socket传输文件示例

发送端可以不停的发送新文件,接收端可以不停的接收新文件。 例如:发送端输入:e:\visio.rar,接收端会默认保存为 e:\new_visio.rar,支持多并发,具体实现如下; 接...

Python中的__new__与__init__魔术方法理解笔记

很喜欢Python这门语言。在看过语法后学习了Django 这个 Web 开发框架。算是对 Python 有些熟悉了。不过对里面很多东西还是不知道,因为用的少。今天学习了两个魔术方法:_...

Python实现密码薄文件读写操作

制作一个"密码薄",其可以存储一个网址,和一个密码(如 123456),请编写程序完成这个“密码薄”的增删改查功能,并且实现文件存储功能 D:\pytest_day\mimab...

简单了解python单例模式的几种写法

方法一:使用装饰器 装饰器维护一个字典对象instances,缓存了所有单例类,只要单例不存在则创建,已经存在直接返回该实例对象。 def singleton(cls): inst...

Python基于递归算法求最小公倍数和最大公约数示例

本文实例讲述了Python基于递归算法求最小公倍数和最大公约数。分享给大家供大家参考,具体如下: # 最小公倍数 def lcm(a, b, c=1): if a * c % b...