python系统之综合案例:用python打造智能诗词生成助手

不为失败找理由,只为成功找方法。所有的不甘,因为还心存梦想,所以在你放弃之前,好好拼一把,只怕心老,不怕路长。

python系列之综合案例

python系列前期章节

  1. python系列之注释与变量
  2. python系列之输入输出语句与数据类型
  3. python系列之运算符
  4. python系列之控制流程语句
  5. python系列之字符串
  6. python系列之列表
  7. python系列之元组
  8. python系列之字典
  9. python系列之集合
  10. python系列之函数基础
  11. python系列之函数进阶

前言

本章是python系列的第12章,前面几章已经学习了很多的python基础知识点,比如最开始的变量、注释、运算符到控制语句、数据类型,然后函数等。每一章有都有实践案例,目的是以应用为驱动,由浅入深的学习。本章暂时不进行新的知识讲解,而要温故而知新,做一个小项目。那么废话不多说,直接开干~

一、项目描述

在诗词的世界里,每一首诗都承载着诗人独特的情感与意境。今天,我们就用Python打造一个别具一格的诗词生成助手,深入体验Python基础语法和高阶特性的魅力。项目名称为 智能诗词生成助手

二、项目需求

我们要创建一个诗词生成助手,它能根据用户输入的季节和情感,生成与之匹配的简单诗词,帮助用户快速获取创作灵感。

三、 项目实现

1、开发准备

本项目在Python 3.7+环境下开发,代码使用PyCharm编辑器编写。你可根据实际需求,调整代码运行环境。

2、代码实现

python 复制代码
#导入random模块,用于生成随机数,在选择诗词元素时增加随机性
import random

#创建一个函数,让它根据输入的季节和情感,生成相应的诗词
def generate_poem(season, emotion):
    # 定义一些描述季节的词汇
    season_words = {
        "春天": ["嫩绿", "花香", "鸟鸣"],
        "夏天": ["烈日", "蝉鸣", "荷香"],
        "秋天": ["金黄", "落叶", "雁归"],
        "冬天": ["白雪", "寒风", "梅香"]
    }

    # 定义一些描述情感的词汇
    emotion_words = {
        "喜悦": ["欢快", "愉悦", "欣喜"],
        "悲伤": ["忧愁", "哀伤", "痛苦"],
        "平静": ["安宁", "静谧", "平和"]
    }

    # 使用高阶函数choice从季节和情感词汇中随机选择一个
    s_word = random.choice(season_words[season])
    e_word = random.choice(emotion_words[emotion])

    # 根据季节和情感组合生成诗词
    poem = f"{season}的{ s_word},透着{ e_word}的气息。"
    return poem

#获取用户输入的季节
while True:
    season = input("请输入季节(春天、夏天、秋天、冬天):")
    if season in ["春天", "夏天", "秋天", "冬天"]:
        break
    print("输入错误,请重新输入!")

#获取用户输入的情感
while True:
    emotion = input("请输入情感(喜悦、悲伤、平静):")
    if emotion in ["喜悦", "悲伤", "平静"]:
        break
    print("输入错误,请重新输入!")

#调用generate_poem函数生成诗词
result = generate_poem(season, emotion)
print("生成的诗词:", result)
 

参考运行结果:

四、代码解读

1、变量与数据类型

在上述代码中, season_words 和 emotion_words 是字典类型的变量,分别用于存储描述季节和情感的词汇。 season 、 emotion 和 result 则是字符串类型变量,用于存储用户输入和生成的诗词。

2、运算符

这里虽没有复杂的数学运算,但赋值运算符 = 用于将值赋给变量,保证程序的顺利运行。

3、输入输出语句

input() 函数用于获取用户输入的季节和情感。 print() 函数负责输出提示信息和生成的诗词。

4、控制流程语句

while 循环用于验证用户输入是否正确。只有当用户输入正确的季节和情感时,循环才会结束,确保程序的健壮性。

5、函数

generate_poem() 是一个自定义函数,接受季节和情感作为参数,返回生成的诗词。它将复杂的诗词生成逻辑封装起来,提高了代码的可读性和可维护性。

6、高阶函数

random.choice() 属于高阶函数,它从序列中随机选择一个元素,在生成诗词时为诗词元素的选择增加了随机性。

五、总结

通过这个诗词生成助手项目,我们不仅巩固了Python的基础语法,还体验了高阶函数在实际项目中的应用。你可以发挥想象力,进一步优化这个项目,如增加更多的诗词元素、改进诗词的结构,使其生成更优美、更有韵味的诗词。希望大家能从这个项目中感受到Python的魅力,开启更多有趣的编程之旅!

本人学识浅薄,文章中有不足之处,还请各方道友在评论区留言,谢谢。

相关推荐
hvinsion2 分钟前
基于PyQt5的自动化任务管理软件:高效、智能的任务调度与执行管理
开发语言·python·自动化·自动化任务管理
飞飞翼1 小时前
python-flask
后端·python·flask
林九生2 小时前
【Python】Browser-Use:让 AI 替你掌控浏览器,开启智能自动化新时代!
人工智能·python·自动化
猿界零零七3 小时前
执行paddle.to_tensor得到全为0
python·paddle
我有医保我先冲3 小时前
SQL复杂查询与性能优化:医药行业ERP系统实战指南
数据库·sql·性能优化
青花瓷4 小时前
智谱大模型(ChatGLM3)PyCharm的调试指南
人工智能·python·大模型·智谱大模型
独好紫罗兰4 小时前
洛谷题单2-P5715 【深基3.例8】三位数排序-python-流程图重构
开发语言·python·算法
阳光_你好4 小时前
详细说明Qt 中共享内存方法: QSharedMemory 对象
开发语言·数据库·qt
mqiqe5 小时前
Spring MVC 页面跳转方案与区别
python·spring·mvc
小白的高手之路5 小时前
torch.nn.Conv2d介绍——Pytorch中的二维卷积层
人工智能·pytorch·python·深度学习·神经网络·机器学习·cnn