一、题目复盘
题目背景
一串由小写字母构成的密信,要按 3 条固定规则完成解析:
输入 & 输出规范
- 输出:按规则加工完成后的字符串(题目约束结果不会为空)
二、解题逻辑拆解(零基础能看懂)
整体分 3 步走,不用复杂算法:
准备判断素材:把 5 个元音放进集合,用来快速判断单个字母要不要保留;新建空字符串储存最终答案
逐个遍历字符:挨个读取输入里的每一个字母
- 字母是辅音:字母转为大写,在大写字母前面拼接
.,追加到结果字符串
收尾输出:遍历结束,打印拼好的结果就行
举实操样例验算
拿输入hello分步推演:
h为辅音 → 拼接片段.H
e是元音,直接丢弃
第一个l为辅音 → 拼接片段.L
第二个l为辅音 → 拼接片段.L
o是元音,直接丢弃
最终拼接成品:.H.L.L,也就是程序要输出的内容
三、可直接运行 Python 代码(逐行注释)
# 读取控制台输入的密信字符串text = input()# 存入全部元音字符,集合做成员判断效率更高vowels = {"a", "e", "i", "o", "u"}# 初始化空字符串,用来汇总最终结果result = ""# 循环遍历字符串内的每一个单个字母for letter in text: # 筛选辅音:字符不在元音集合内就做格式加工 if letter not in vowels: # 辅音大写、前置点号,拼接到结果容器 result += f".{letter.upper()}"# 打印解析完成的密信内容print(result)
四、新手易错避雷清单
- 容器选型小技巧:判断字符是否属于元音,优先用
集合{},不要用列表,集合做查找判断速度更快 - 大小写方法用法:内置方法
.upper()可以直接把小写字母转大写,本题输入限定小写字母,调用不会出错 - 不用兜底空结果:题目给出约束,加工后的输出一定非空,不用额外写结果为空的兼容代码
- 标点别写错:规则要求的是英文半角
.,不要误输入中文句号。,不然答案判定出错
五、自主练手小测试
大家可以自行跑两组输入自测:
- 输入:
map → m、p 为辅音,a 被剔除,预期输出:.M.P
本题属于字符串遍历、字符筛选的基础题型,吃透逻辑之后,同类字符过滤、格式拼接的基础题都能套用这套思路解决✨
每天一题,记得关注,带你起飞.