三国Python演义·第4回
废汉帝陈留践位
字符串操作
🏮 赵老师说 🏮
同学们好!欢迎回到三国Python演义!
上一回,我们见证了董卓进京,学了 input() 的用法,还做出了"命运的抉择"!
这一回,剧情更加紧张!董卓要在朝堂上废掉小皇帝,另立新君!这可是惊天大事!
你知道吗?在Python里,字符串是最常用的数据类型之一。我们可以用字符串来描述人物、拼接剧情、生成对话……
今天,我们要学习字符串操作——这是Python最有趣的技能之一!
📖 第一幕:风云突变
小书童骑着一匹快马,气喘吁吁地跑来
"董卓要废帝了!满朝文武都吓得不敢说话!"
⚡ 废帝立新 ⚡
话说董卓进京后,野心越来越大。
这一天,他召集文武百官来到显德殿,要宣布一件大事——
废掉小皇帝刘辩,改立陈留王刘协为帝!
小皇帝刘辩是谁?
🎭 少帝刘辩:被废的傀儡天子
陈留王刘协又是谁?
🎭 陈留王刘协:即将登基的汉献帝
💀 董卓在朝堂上嚣张地说:"从今天起,废刘辩,立刘协!谁敢不从!
🏛️ 朝堂对峙 🏛️
满朝文武都吓坏了!
最终,董卓强行宣布:
废少帝刘辩为弘农王立陈留王刘协为汉献帝
从此,东汉末年进入了军阀专权的时代……
📚 原文拓展
《三国演义》原文第四回片段:
"卓请陈留王登殿。群臣朝贺毕,令卓扶驾,则灵帝尚在,偏有一人卧于床下……"
"帝战栗不能言,李儒奉董卓命,取鸩酒一杯,帝悲切,不肯饮……"
——罗贯中《三国演义》第四回
🐍 第二幕:Python锦囊
小蛇PyPy从草丛里钻出来,神秘兮兮地晃着脑袋
"嘘!同学们,废帝大戏需要你来编排!先学会Python的字符串操作吧!"
📝 什么是字符串?
字符串就是用引号包起来的一串文字!
"少帝刘辩"
'汉献帝刘协'
"""这是多行字符串"""
🔧 字符串基本操作
1️⃣ 拼接字符串——用 + 号
# 拼接皇帝称号
皇帝称号 = "少帝"
姓名 = "刘辩"
完整称号 = 皇帝称号 + 姓名
print(完整称号) # 输出:少帝刘辩
2️⃣ 重复字符串——用 * 号
# 制造装饰线
装饰 = "=" * 20
print(装饰) # 输出:====================
3️⃣ 获取长度——用 len()
名字 = "董卓"
长度 = len(名字)
print(长度) # 输出:2
🎯 字符串方法——强大的内置技能
小蛇PyPy给大家介绍几个最常用的字符串方法:
1️⃣ 全部变大写 —— .upper()
口号 = "匡扶汉室"
大号口号 = 口号.upper()
print(大号口号) # 输出:匡扶汉室
2️⃣ 全部变小写 —— .lower()
密码 = "DONGZHUO123"
小写密码 = 密码.lower()
print(小写密码) # 输出:dongzhuo123
3️⃣ 替换文字 —— .replace()
诏书 = "董卓是忠臣"
新诏书 = 诏书.replace("忠", "奸")
print(新诏书) # 输出:董卓是奸臣
4️⃣ 分割文字 —— .split()
阵营列表 = "曹操,刘备,孙权"
阵营 = 阵营列表.split(",")
print(阵营) # 输出:['曹操', '刘备', '孙权']
5️⃣ f-string 格式化 —— 最强大!
皇帝 = "刘协"
年号 = "建安"
年龄 = 9
介绍 = f"汉献帝{皇帝},年号{年号},登基时年仅{年龄}岁"
print(介绍)
# 输出:汉献帝刘协,年号建安,登基时年仅9岁
📍 字符串索引——精准定位
字符串就像一串珠子,每个字符都有一个"编号"(从0开始):
字 符:汉 献 帝 刘 协
编 号:0 1 2 3 4
名字 = "汉献帝刘协"
print(名字[0]) # 输出:汉
print(名字[1]) # 输出:献
print(名字[3]) # 输出:刘
💡 小技巧:负数从后面开始数! -1 = 最后一个字符 -2 = 倒数第二个字符
⚠️ 重要提醒
| | |
|---|
print(少帝) | print("少帝") | |
name = input() | name = input("请输入:") | |
年龄 = input() | 年龄 = int(input()) + 5 | |
⚔️ 第三幕:沉浸式闯关
"⚔️ 欢迎来到废帝立新关!你现在是一名三国史官,用代码记录这段历史!"
🎮 任务一⭐:皇帝称号生成器
难度: ⭐(入门)
故事背景: 你是史官,负责记录皇帝的称号。董卓让你生成"弘农王"刘辩和"汉献帝"刘协的完整称号。
任务描述: 用字符串拼接,生成皇帝的完整称号并打印。
参考代码:
# 皇帝称号生成器!
称号1 = "弘农王"
姓名1 = "刘辩"
称号2 = "汉献帝"
姓名2 = "刘协"
# 拼接
完整称号1 = 称号1 + 姓名1
完整称号2 = 称号2 + 姓名2
print("废帝记录:")
print("原少帝 → " + 完整称号1)
print("新皇帝 → " + 完整称号2)
运行示例:
废帝记录:
原少帝 → 弘农王刘辩
新皇帝 → 汉献帝刘协
🎮 任务二⭐⭐:圣旨内容生成
难度: ⭐⭐(入门)
故事背景: 董卓让你写一份"圣旨",内容包括:年号、皇帝名、在位年数。你需要用 f-string 来生成完整的圣旨!
任务描述: 1. 定义皇帝名、年号、在位年数 2. 用 f-string 生成完整的圣旨内容
参考代码:
# 圣旨生成器!
皇帝 = "刘协"
年号 = "建安"
年数 = int(input("在位年数:"))
# 使用 f-string 生成圣旨
圣旨 = f"""
================================
【 奉 天 承 运 】
================================
今有天子{皇帝},年号{年号},
于建安元年登基,
在位{int(年数)}年。
钦此!
================================
"""
print(圣旨)
运行示例:
在位年数:13
================================
【 奉 天 承 运 】
================================
今有天子刘协,年号建安,
于建安元年登基,
在位13年。
钦此!
================================
🎮 任务三⭐⭐⭐:废帝诏书
难度: ⭐⭐⭐(进阶)
故事背景: 🔥 这是最戏剧性的一幕! 🔥
董卓要发布"废帝诏书",内容包括:废谁、立谁、理由。你需要用字符串方法来处理这份诏书!
任务描述: 1. 接收用户输入的"废帝理由" 2. 用 .replace() 把理由中的某个字替换成另一个字 3. 用 .upper() 把标题变大写 4. 用 .split() 分割诏书内容
参考代码:
# 废帝诏书生成器!
print("=" * 30)
print("⚔️ 废 帝 诏 书 ⚔️".upper())
print("=" * 30)
废帝 = input("请输入被废皇帝的名字:")
理由 = input("请输入废帝的理由:")
# 替换
理由改写 = 理由.replace("无德", "有才")
理由改写 = 理由改写.replace("无能", "有能")
# 分割
关键词 = 理由.split(",")
print("\n诏书关键词:")
for 词 in 关键词:
print("· " + 词)
# 生成完整诏书
诏书 = f"""
朕闻:{废帝}无道,{理由}。
今废{废帝}为弘农王,
另立陈留王刘协为汉献帝。
百官叩首,山呼万岁!
"""
print("\n" + 诏书)
运行示例:
请输入被废皇帝的名字:刘辩
请输入废帝的理由:无德无能,祸乱朝纲。
诏书关键词:
· 无德无能
· 祸乱朝纲
朕闻:刘辩无道,无德无能,祸乱朝纲。
今废刘辩为弘农王,
另立陈留王刘协为汉献帝。
百官叩首,山呼万岁!
🎮 选做任务⭐⭐⭐⭐:史官档案系统
难度: ⭐⭐⭐⭐(挑战)
故事背景: 作为三国史官,你需要整理一份完整的帝王档案系统,包括所有关键人物的信息和关系!
任务描述: 编写一个完整的帝王档案生成程序,包含: 1. 至少3个人物的档案(皇帝、大臣等) 2. 用 f-string 格式化输出 3. 用字符串方法处理用户输入 4. 包含输入验证
参考代码:
print("=== 三国帝王档案系统 ===\n")
# 输入帝王信息
皇帝名 = input("皇帝姓名:")
皇帝年号 = input("年号:")
皇帝年龄 = int(input("登基年龄:"))
# 计算相关年龄
驾崩年龄 = int(input("驾崩年龄:"))
在位年数 = 驾崩年龄 - 皇帝年龄
# 使用 f-string 生成档案
档案 = f"""
╔══════════════════════════════════╗
║ 【帝王档案】 ║
╠══════════════════════════════════╣
║ 姓名:{皇帝名} ║
║ 年号:{皇帝年号} ║
║ 登基年龄:{皇帝年龄}岁 ║
║ 驾崩年龄:{驾崩年龄}岁 ║
║ 在位年数:{在位年数}年 ║
║ ║
║ 简介:{皇帝名}是东汉末代皇帝, ║
║ 在董卓的扶持下登基, ║
║ 实为傀儡,{在位年数}年后禅位于 ║
║ 魏王曹丕,东汉灭亡。 ║
╚══════════════════════════════════╝
"""
print(档案)
🏆 第四幕:故事继续
📜 你的代码记录了历史
因为你的参与,废帝的历史得以被记录!
董卓的野心越来越大……
📚 知识点回顾
恭喜你完成了第4回的闯关!让我们来回顾今天学到的知识:
| |
|---|
| |
| |
.upper() | |
.lower() | |
.replace() | |
.split() | |
.len() | |
| |
| |
🔮 下回预告
第5回预告:王司徒巧施连环计
董卓在京城胡作非为,大臣们敢怒不敢言。司徒王允想出了一个美人计——利用貂蝉,让董卓和吕布反目成仇!这个计策能成功吗?
下回知识点预告:列表——如何管理大量数据?
📝 课后练习
基础题:写一段代码,用字符串拼接输出"三国演义"四个字
进阶题:写一个程序,接收用户输入的一句话,然后用 .replace() 把某个字替换成"*"(用于过滤敏感词)
挑战题:写一个"三国人物介绍生成器",用户输入人物名,程序自动生成介绍文字!
思考题:在古代,圣旨是用毛笔写在绸缎上的。如果用Python来"写"圣旨,你可以想到什么有趣的应用?
🎮 资源链接
- 公众号直接回复【python】,可获取更多python学习的资源
- Python官网
- Python教程:https://docs.python.org/zh-cn/3/tutorial/
📢 赵老师提示:
完成所有闯关任务后,别忘了截图保存你的代码!
你的每一行代码,都是在书写属于自己的三国故事!
有任何问题,欢迎直接公众号回复!
「三国Python演义」第4回·完