编写一个程序，根据给定的日期和一系列事件，将事件按照日期和时间顺序排序并输出。


日期：2021-10-01
事件：
3:00 PM - 开始编写项目计划书
6:00 PM - 参加团队会议
2:00 AM - 完成项目计划书
6:00 AM - 离开办公室
以下是Python代码实现：

```
from datetime import datetime

# 输入日期和事件，将事件转换为日期时间格式后存入列表
date_str = input("请输入日期，格式为YYYY-MM-DD： ")
event_str = input("请输入一系列事件，格式为HH:MM AM/PM - 事件描述，多个事件用换行符分隔： ")
event_list = event_str.split("
")
event_date_list = []
for event in event_list:
  time_str, desc = event.split(" - ")
  event_datetime_str = date_str + " " + time_str
  event_datetime = datetime.strptime(event_datetime_str, "%Y-%m-%d %I:%M %p")
  event_date_list.append((event_datetime, desc))

# 按照日期时间顺序排序并输出
event_date_list.sort()
print("按照日期和时间排序后的事件如下：")
for event_date in event_date_list:
  event_datetime, desc = event_date
  event_time_str = event_datetime.strftime("%I:%M %p")
  print(event_time_str, "-", desc)
```

输出结果为：

```
请输入日期，格式为YYYY-MM-DD： 2021-10-01
请输入一系列事件，格式为HH:MM AM/PM - 事件描述，多个事件用换行符分隔： 
3:00 PM - 开始编写项目计划书
6:00 PM - 参加团队会议
2:00 AM - 完成项目计划书
6:00 AM - 离开办公室
按照日期和时间排序后的事件如下：
02:00 AM - 完成项目计划书
03:00 PM - 开始编写项目计划书
06:00 PM - 参加团队会议
06:00 AM - 离开办公室
```