零基础也能玩转AI:用Python写一个属于你自己的自动诗歌生成器

UID:113 一级用户组

不懂代码?没关系。跟着这篇文章,即使你从未写过一行Python,也能借助AI的帮助,在30分钟内打造一个能自动写诗的趣味程序。

引言:为什么从"诗歌生成器"开始?

学习编程最难的不是语法本身,而是"不知道学了能干什么"。一个自动诗歌生成器,完美避开了这两个痛点:

  • 它足够有趣:你写的程序能"创作"出独一无二的句子,这种成就感远胜于打印一个"Hello World"

  • 它足够简单:核心逻辑不到20行代码,却能让你接触到变量、列表、随机数、字符串拼接等编程核心概念

  • 它足够AI:我们还会让程序接入真正的大语言模型,让你感受从"拼凑"到"创作"的质的飞跃

我们将分两个版本来完成:

  • 版本1(基础版):随机组合词库,生成"胡言乱语"式现代诗

  • 版本2(进阶版):调用AI模型,生成真正有意境的诗歌

第一部分:准备工作

1.1 安装Python环境

访问Python官网(python.org)下载最新版本。安装时务必勾选"Add Python to PATH"(添加Python到系统路径),否则后续会很麻烦。

1.2 选择一个趁手的编辑器

  • VS Code:功能强大,插件丰富,适合长期学习

  • IDLE:Python自带的简易编辑器,开箱即用

  • 在线编辑器:如Replit或Jupyter Notebook,无需安装,打开浏览器就能写

1.3 让AI当你的编程助教

在写代码的过程中,你一定会遇到各种问题。这时候,让AI来帮你解答是最好的学习方式。无论是语法报错还是思路卡壳,直接问AI就行。

第二部分:版本1 ------ 随机组合词库生成"现代诗"

这个版本不需要任何AI接口,完全靠Python内置的random模块。它很像一个"词语万花筒":我们预先准备好一些词语,然后让程序随机抽取并拼在一起。

2.1 完整代码

python

import random  # 导入随机数模块 # ------------------------------ # 1. 建立我们的“词语仓库” # ------------------------------ nouns = ["风", "云", "山", "海", "月光", "星辰", "落叶", "雨滴", "孤独", "自由"] verbs = ["追逐", "拥抱", "遗忘", "亲吻", "诉说", "聆听", "穿透", "淹没"] adjs = ["温柔的", "苍白的", "炽热的", "冰冷的", "寂静的", "破碎的", "永恒的"] connectors = ["然后", "于是", "但是", "也许", "终于", "从未"] # ------------------------------ # 2. 定义生成一句诗的“小工厂” # ------------------------------ def generate_one_line():     """随机组合词语,生成一句诗"""     # 随机选取不同词库的元素进行拼接     # 例如:形容词 + 名词 + 动词 + 名词     line = random.choice(adjs) + random.choice(nouns) + \            random.choice(verbs) + random.choice(nouns)     return line # ------------------------------ # 3. 生成一整首诗 # ------------------------------ def generate_poem(num_lines=6):     """生成一首包含num_lines行的诗"""     poem_lines = []     for _ in range(num_lines):         # 随机决定是否在句首加连接词         if random.random() > 0.7:  # 30%的概率加上连接词             line = random.choice(connectors) + generate_one_line()         else:             line = generate_one_line()         poem_lines.append(line)          # 用换行符把所有诗句连接起来     return " ".join(poem_lines) # ------------------------------ # 4. 运行程序,打印结果 # ------------------------------ if __name__ == "__main__":     print(" 🌟 你的专属诗歌生成器 🌟 ")     print(generate_poem(4))     print(" ✨ 创作完成 ✨") 

2.2 代码解读

  • 词库:我们把词语分门别类放进了列表(比如nouns列表存放名词),你可以随意增删里面的词语

  • random.choice():这个函数会从列表中随机抽取一个元素,比如random.choice(nouns)可能会抽到"风"或"海"

  • 字符串拼接:用+号把几个词语连成一句完整的诗

  • random.random():会返回一个0到1之间的小数,用来制造"偶尔加个连接词"的随机效果

2.3 试试看

运行这段代码,你的第一个程序应该会输出类似这样的诗句:

炽热的星辰拥抱月光
也许苍白的风追逐落叶
寂静的雨滴淹没自由
破碎的孤独亲吻星辰

虽然有些句子可能逻辑不通,但这种"陌生化"的组合恰恰是现代诗的魅力所在。

第三部分:版本2 ------ 调用AI模型生成真正的诗歌

基础版玩几下就腻了?因为我们只是"拼凑",而不是"创作"。接下来,我们让程序接入AI大模型,它会根据你给定的主题,真正"理解"并"创作"出独一无二的诗歌。

3.1 选择一个国内可用的AI API

推荐方案:DeepSeek API(价格极低,几乎等于免费)

DeepSeek是目前国内性价比最高的AI模型之一,生成一首诗的成本微乎其微。

操作步骤:

  1. 访问DeepSeek官网注册账号

  2. 进入"控制台" → “API Keys” → 创建一个新密钥,复制保存好(只显示一次)

  3. 充值几块钱(能用很久很久)

3.2 安装依赖库

在终端或命令提示符中运行:

bash

pip install openai requests 

注意:DeepSeek的接口兼容OpenAI的调用方式,所以我们直接用openai库就行了。

3.3 进阶版完整代码

python

import openai # ---------------------------------------------- # 1. 配置你的API密钥(把下面的字符串换成你自己的) # ---------------------------------------------- API_KEY = "sk-你的DeepSeek密钥" # 设置DeepSeek的接口地址 client = openai.OpenAI(     api_key=API_KEY,     base_url="https://api.deepseek.com/v1" ) # ---------------------------------------------- # 2. 定义函数:让AI写诗 # ---------------------------------------------- def ai_generate_poem(topic="秋天", style="现代诗", lines=6):     """     调用AI生成诗歌     topic: 诗歌的主题,比如“爱情”、“大海”、“故乡”     style:  诗歌风格,比如“现代诗”、“七言绝句”、“朦胧诗”     lines:  生成多少行     """          # 精心设计的提示词(Prompt)是关键     prompt = f"""你是一位才华横溢的诗人。请以“{topic}”为主题,创作一首{style}。 具体要求: 1. 诗题为《{topic}》 2. 共{lines}行 3. 语言优美,有意境,避免陈词滥调 4. 不要有任何解释和说明,只输出诗歌本身 """          # 调用AI接口     response = client.chat.completions.create(         model="deepseek-chat",         messages=[             {"role": "system", "content": "你是一位优秀的现代诗人。"},             {"role": "user", "content": prompt}         ],         temperature=0.8  # 值越高,输出越有创意和随机性     )          # 提取AI回复的文本     poem = response.choices[0].message.content     return poem # ---------------------------------------------- # 3. 主程序:和用户交互 # ---------------------------------------------- if __name__ == "__main__":     print(" " + "="*30)     print("   🤖 AI 诗歌生成器 🤖")     print("="*30)          # 让用户输入主题     user_topic = input(" 请输入一个诗歌主题(比如:故乡、星空、母亲):")     if not user_topic:         user_topic = "月光"         print(f"没有输入,我将以“{user_topic}”为主题生成。")          print(" ⏳ AI正在创作中,请稍候... ")          # 生成诗歌     poem = ai_generate_poem(topic=user_topic)          # 打印结果     print("-"*30)     print(poem)     print("-"*30)     print(f" ✨ 你的主题《{user_topic}》诗歌已生成 ✨") 

3.4 运行效果

当你输入"故乡"并运行,程序会调用AI,输出类似这样的内容:

《故乡》

村口的老槐树又落叶了
我在千里之外的地图上
寻找那条弯曲的土路

母亲的白发和炊烟一起升起
在黄昏里渐渐模糊

只有月亮还认得
那个在异乡失眠的人

这种水平的"创作",在基础版本里是绝对无法实现的。

第四部分:让程序更"好玩"的改进方向

当你掌握了基础版本和进阶版本之后,还可以继续给它添加更多功能:

  • 添加押韵检查:写一个简单的函数,判断每行最后一个字的韵母是否相同或相似

  • 导出为图片:将生成的诗歌配上背景图,保存为一张精美的卡片,方便分享到朋友圈

  • 接入语音合成:让程序不仅能写诗,还能把诗"读"出来

  • 制作成网页:用Flask框架写一个简单的网页,让朋友们也能在线使用

从一个只会随机拼凑词语的"文字万花筒",到能够创作出有意境诗歌的AI助手,你只用了不到30行核心代码就完成了从"拼凑"到"创作"的跨越。

这篇文章的真正目的,不仅仅是教你写一个诗歌生成器,而是想让你亲身体验:在AI时代,编程的门槛已经被彻底打破。

  • 当你不知道某个函数的用法时,直接问AI

  • 当代码报错看不懂时,把错误信息复制给AI

  • 当你有了一个新想法但不知道怎么实现时,让AI帮你写一个框架

你不需要记住所有的语法和函数,你需要的是想法行动。现在,打开你的电脑,亲手运行一下上面的代码吧。当你看到屏幕上出现第一行AI为你写的诗句时,那种创造的快乐会告诉你------编程,真的没那么难。

最新回复
  • 蔡徐坤 UID:10 一级用户组

    写诗歌有什么意思,写点别的

    1月前

请先登录后再回复 登录

uid:113 一级用户组
关注
发帖 2
评论 1
粉丝 0
关注 0
发新帖
目录
零基础也能玩转AI:用Python写一个属于你自己的自动诗歌生成器