用python写出具有以下功能的程序模拟写日记、读日记、查找日记中心情(比如:“高兴”、“郁闷”等词语)出现的次数、退出
时间: 2023-08-05 20:08:57 浏览: 54
下面是一个简单的Python程序,可以实现写日记、读日记、查找日记情感等功能:
```python
import json
import re
import time
# 定义日记文件名
DIARY_FILE = 'diary.json'
# 定义情感词列表
SENTIMENT_WORDS = ['高兴', '郁闷', '惊喜', '愤怒', '伤心', '无聊']
# 写日记
def write_diary():
# 获取当前时间
now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
# 输入日记内容
content = input('请输入日记内容:')
# 将日记保存到字典中
diary = {'time': now, 'content': content}
# 将字典保存到日记文件中
with open(DIARY_FILE, 'a', encoding='utf-8') as f:
f.write(json.dumps(diary, ensure_ascii=False) + '\n')
print('日记已保存!')
# 读日记
def read_diary():
# 打开日记文件,读取所有日记
with open(DIARY_FILE, 'r', encoding='utf-8') as f:
diaries = f.readlines()
# 遍历日记,输出时间和内容
for diary in diaries:
diary = json.loads(diary)
print(diary['time'])
print(diary['content'])
print('')
# 查找情感词出现次数
def find_sentiment():
# 打开日记文件,读取所有日记
with open(DIARY_FILE, 'r', encoding='utf-8') as f:
diaries = f.readlines()
# 初始化情感词统计字典
sentiment_count = dict.fromkeys(SENTIMENT_WORDS, 0)
# 遍历日记,查找情感词出现次数
for diary in diaries:
diary = json.loads(diary)
content = diary['content']
# 对日记内容进行分词,并过滤出情感词
words = re.findall(r'[\u4e00-\u9fa5]+', content)
for word in words:
if word in SENTIMENT_WORDS:
sentiment_count[word] += 1
# 输出统计结果
for word, count in sentiment_count.items():
if count > 0:
print('{}出现了{}次'.format(word, count))
# 主程序
if __name__ == '__main__':
while True:
print('请选择操作:')
print('1. 写日记')
print('2. 读日记')
print('3. 查找情感词出现次数')
print('4. 退出')
choice = input()
if choice == '1':
write_diary()
elif choice == '2':
read_diary()
elif choice == '3':
find_sentiment()
elif choice == '4':
break
else:
print('输入无效,请重新输入!')
```
注意:以上代码仅供参考,可能存在不足之处,需要根据具体需求进行修改和完善。