全国青少年信息素养大赛复赛真题Python2025年初中组编程大题。
在英语中,不少单词拼写过长,日常书写很不方便,于是人们制定了一套简单的缩写规则:
如果单词长度超过 5 个字母,保留第一个字母和最后一个字母,中间填写首尾字母之间的字符数量;
如果单词长度不超过 5 个字母,则直接原样输出。
举例:localization 按照规则缩写为 l10n。
请根据以上规则编写程序,实现单词缩写功能。
输入描述
输入一个纯英文字符串,字符串长度满足:2 < n < 100
输出描述
输出一行内容,为原单词或缩写后的单词
样例参考
样例 1
输入:he11o
输出:he11o
样例 2
输入:internationalization
输出:i18n
💻 完整代码
s=input()if len(s)<=5: print(s)else: new_s=s[0]+str(len(s)-2)+s[-1] print(new_s)
🔎 逐行思路解析
s=input()
接收键盘输入的单词,并将内容存入字符串变量 s 中。
if len(s)<=5:
借助 len() 函数获取字符串长度,判断单词是否为短单词。按照题目要求,长度小于等于 5 的单词无需缩写。
print(s)
满足短单词条件,直接打印输出原单词。
new_s=s[0]+str(len(s)-2)+s[-1]
本题核心逻辑,分三部分拼接缩写内容:
s[0]len(s)-2:总字符数减去首尾 2 个字符,得到中间字符个数,再通过 str() 转为字符串格式,完成拼接s[-1]
print(new_s)
打印输出缩写完成的单词。
✅ 实战运行测试
- 输入
hello(长度为 5)→ 输出 hello - 输入
localization → 输出 l10n - 输入
internationalization → 输出 i18n
📝 知识点小结
这道题是 Python 字符串基础经典题型,主要考察四个基础知识点:
字符串输入、长度判断、索引取值、类型转换与字符串拼接。整体逻辑清晰,非常适合新手巩固基础语法~