当前位置:首页>python>小学生Python进阶:做一个AI写作小助手

小学生Python进阶:做一个AI写作小助手

  • 2026-10-11 08:41:11
小学生Python进阶:做一个AI写作小助手

上节课我们做了一个能记住对话的 AI 聊天助手。这节课,我们来做一个更实用的工具——AI 写作小助手!输入关键词,AI 帮你写文章、写作文、起标题、改病句,一键搞定!

一、写作助手能做什么?

我们要做的写作助手支持以下功能:

  • 📝 写作文:给个题目,AI 帮你写一篇小作文
  • 🏷️ 起标题:给段文字,AI 帮你想5个标题
  • 🔧 改病句:把写错的句子交给 AI 修改
  • 💡 续写故事:写了开头,AI 帮你续写后面
  • 🌍 中英互译:中文翻英文,英文翻中文

二、核心思路:用 Prompt 控制 AI

写作助手的关键是写好 Prompt(提示词)。不同的任务,用不同的 Prompt:

# 写作文的 Prompt
prompt = f"请帮我写一篇关于「{topic}」的小学生作文,200字左右,语言生动活泼"

# 起标题的 Prompt
prompt = f"请为下面这段文字起5个吸引人的标题,每行一个:
{text}"

# 改病句的 Prompt
prompt = f"请找出下面句子中的错误并改正,给出修改后的句子:
{sentence}"

Prompt 写得越清楚,AI 的回答就越准确!

三、完整代码:写作助手类

from zai import ZhipuAiClient

class WritingAssistant:
    """AI 写作小助手"""

    def __init__(self, api_key):
        self.client = ZhipuAiClient(api_key=api_key)
        self.model = "glm-4.7-flash"

    def _ask(self, prompt):
        """向 AI 提问,返回回答"""
        response = self.client.chat.completions.create(
            model=self.model,
            messages=[{"role": "user", "content": prompt}]
        )
        return response.choices[0].message.content

    def write_essay(self, topic, words=200, style="生动活泼"):
        """写作文"""
        prompt = f"请帮我写一篇关于「{topic}」的小学生作文,{words}字左右,语言{style}"
        return self._ask(prompt)

    def make_title(self, text, count=5):
        """起标题"""
        prompt = f"请为下面这段文字起{count}个吸引人的标题,每行一个,不要编号:
{text}"
        return self._ask(prompt)

    def fix_sentence(self, sentence):
        """改病句"""
        prompt = f"请找出下面句子中的语法错误或病句,并给出修改后的正确句子:
「{sentence}」"
        return self._ask(prompt)

    def continue_story(self, beginning, words=150):
        """续写故事"""
        prompt = f"下面是一个故事的开头,请续写{words}字左右,保持风格一致:
{beginning}"
        return self._ask(prompt)

    def translate(self, text, target="英文"):
        """翻译"""
        prompt = f"请将下面的内容翻译成{target},只输出翻译结果:
{text}"
        return self._ask(prompt)

四、实际使用效果

assistant = WritingAssistant(api_key="你的API Key")

# 1. 写作文
essay = assistant.write_essay("春天", words=150)
print("【作文】")
print(essay)
【作文】
春天来了,大地换上了绿色的新装。小草从土里探出头来,好奇地打量着这个世界。
柳树的枝条轻轻摇摆,像是在跳一支欢快的舞蹈。
公园里,小朋友们放起了风筝,五颜六色的风筝在蓝天上飞翔……
# 2. 起标题
titles = assistant.make_title("春天来了,小草绿了,花儿开了,小朋友们在公园里快乐地玩耍。")
print("【标题建议】")
print(titles)
【标题建议】
春天的气息
绿意盎然的季节
公园里的欢笑声
春风里的童年
花开的时候
# 3. 改病句
fixed = assistant.fix_sentence("我昨天把作业忘记写了没有。")
print("【改病句】")
print(fixed)
【改病句】
原句存在双重否定导致语义混乱的问题。
修改后:我昨天忘记写作业了。

五、做一个菜单程序

把所有功能整合成一个好用的菜单程序:

def main():
    assistant = WritingAssistant(api_key="你的API Key")

    print("=" * 40)
    print("  ✍️  AI 写作小助手")
    print("=" * 40)
    print("1. 写作文")
    print("2. 起标题")
    print("3. 改病句")
    print("4. 续写故事")
    print("5. 中英互译")
    print("0. 退出")
    print("=" * 40)

    while True:
        choice = input("\n请选择功能(0-5):")

        if choice == "0":
            print("再见!")
            break
        elif choice == "1":
            topic = input("作文题目:")
            print("\n正在写作,请稍候……")
            print(assistant.write_essay(topic))
        elif choice == "2":
            text = input("请输入文字:")
            print("\n标题建议:")
            print(assistant.make_title(text))
        elif choice == "3":
            sentence = input("请输入要修改的句子:")
            print("\n修改结果:")
            print(assistant.fix_sentence(sentence))
        elif choice == "4":
            beginning = input("请输入故事开头:")
            print("\n续写内容:")
            print(assistant.continue_story(beginning))
        elif choice == "5":
            text = input("请输入要翻译的内容:")
            direction = input("翻译成(中文/英文):")
            print("\n翻译结果:")
            print(assistant.translate(text, target=direction))
        else:
            print("无效选择,请重新输入")

六、进阶:保存写作结果

写完的作文可以自动保存到文件,方便以后查看:

import datetime

def save_result(title, content):
    """把写作结果保存到文件"""
    today = datetime.date.today().strftime("%Y-%m-%d")
    filename = f"写作记录_{today}.txt"

    with open(filename, "a", encoding="utf-8") as f:
        f.write(f"\n{'='*30}\n")
        f.write(f"【{title}】\n")
        f.write(f"时间:{datetime.datetime.now().strftime('%H:%M')}\n")
        f.write(content)
        f.write("\n")

    print(f"已保存到 {filename}")

# 使用示例
essay = assistant.write_essay("我的暑假")
save_result("作文:我的暑假", essay)
# 自动保存到 写作记录_2026-04-19.txt

七、今天学到了什么?

  1. Prompt 工程:不同任务写不同的提示词,越具体越好
  2. WritingAssistant 类:把多个功能封装在一起,调用方便
  3. 菜单程序:用 while + input 做交互式菜单
  4. 保存结果:用文件操作把 AI 输出保存下来
  5. 实用场景:写作文、起标题、改病句、续写、翻译

八、下期预告

下节课我们用 turtle 画图——让 Python 帮你画出漂亮的图案!不需要 AI,纯代码画画,超有趣!

敬请期待:《小学生Python进阶:用turtle画出美丽图案》

有问题欢迎留言!

最新文章

随机文章