Python存储用户输入答案并填入预设Word模板的实现方法
Python互动故事生成程序开发
现有基础代码
# 已编写的初始代码 print('Today, we are going to make our own story') question1=input('First, whats the setting going to be? 1.A farm 2.A town 3.A city. Please make your answer 1,2,3 or else we get no story!)
代码存在小语法问题:input函数的提示字符串末尾缺少闭合单引号,直接运行会触发语法报错,需要补全闭合引号后才能正常执行。
核心开发目标
- 所有提问统一设计为编号选项形式,引导用户输入1、2、3这类简单值作答,降低用户输入成本
- 全流程收集的用户作答结果统一结构化存储,作为后续故事拼接的数据源
- 最终将用户选择匹配的对应文本,填入预先编辑好的Word故事模板,导出完整的自定义故事文档
核心实现步骤
- 输入校验逻辑
为每道选择题提前建立选项映射字典,比如第一题的映射规则为{'1': 'a farm', '2': 'a town', '3': 'a city'}。用户输入内容后先校验是否为映射表里的合法key,若输入非法值则重新弹出提问引导,直到用户输入正确选项,避免因输入格式错误中断程序。 - 作答结果存储
用普通Python字典按题目顺序存储所有作答结果,示例结构为story_result = {"setting": "a farm", "main_character": ..., "core_conflict": ...},后续填充模板时直接按字典key取值即可。如果需要留存不同用户的生成记录,可将字典序列化写入本地JSON文件,无需搭建额外存储服务。 - Word模板填充
基于python-docx库读取本地预设的Word故事模板,提前在模板中需要用户自定义内容的位置标注占位符(比如{scene_setting}、{protagonist_name})。程序遍历所有占位符位置,将存储字典中匹配的用户选择文本替换占位符内容,另存为独立的docx文件,即可输出最终的自定义故事文档。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

