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程序设计有所帮助。

相关文章

解决torch.autograd.backward中的参数问题

解决torch.autograd.backward中的参数问题

torch.autograd.backward(variables, grad_variables=None, retain_graph=None, create_graph=False...

python RabbitMQ 使用详细介绍(小结)

上节回顾 主要讲了协程、进程、异步IO多路复用。 协程和IO多路复用都是单线程的。 epoll  在linux下通过这个模块libevent.so实现 gevent&n...

Python脚本按照当前日期创建多级目录

使用python脚本按照年月日生成多级目录,创建的目录可以将系统生成的日志文件放入其中,方便查阅,代码如下: #!/usr/bin/env python #coding=utf-8...

pytorch .detach() .detach_() 和 .data用于切断反向传播的实现

当我们再训练网络的时候可能希望保持一部分的网络参数不变,只对其中一部分的参数进行调整;或者值训练部分分支网络,并不让其梯度对主网络的梯度造成影响,这时候我们就需要使用detach()函数...

python实现逆波兰计算表达式实例详解

本文实例讲述了python实现逆波兰计算表达式的方法。分享给大家供大家参考。具体分析如下: 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,...