主要内容是校设课程的习题和课外学习的一些习题。
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
题目
题目来自PTA
zjut命题组
-
题目:栗酱想考察你的程序功底,故她设计了一个字符串预处理的问题。 给定一个连续的英文文本串,包含大小写字母,英文逗号(,)和英文句号(.)。 你需要完成以下处理: 1.将所有大写字母改为小写字母,并在原来的大写字母之前添加一个空格。 2.将所有英文逗号和英文句号替换成空格。
-
输入格式:
第一行一个整数T(T≤100),表示数据组数。 随后T组数据,每组数据,输入一行,包含一个连续的文本字符串,里面不包含空格,文本长度不超过1000。 -
输出格式:
对于每组数据,输出一行,表示完成预处理的文本字符串。 -
输入样例:
1
whatWillHappen,WeDontKnow.Aswhatwethink
- 输出样例:
what will happen we dont know aswhatwethink
思路
-
通过新建一个result字符串不断放入内容
-
为什么这里我采用了逐个比对呢?因为我怀疑有个坑,题目说是首位的字母之间的字母的数量,万一里面有不是字母的数字呢?要不要算进缩写的长度呢?
-
我这里是
j.isalpha()
判断是否是字母,j.isupper()
判断是否是大写,j.islower()
判断是否小写,用一个标点列表解决标点替换空格的问题。
代码
# @Time : 2022/3/19 13:57
# @Author : 南黎
# @FileName: 2020校赛真题C 字符串预处理.py
t=eval(input())
for i in range(t):
a=[",",",",".","。"]
s=input()
result=""
for j in s:
if j.isalpha() and j.isupper():#判断字符串j中所有字母为大写,加空格和字母
result=result+" "+j.lower()#加的字母是小写的
elif j.isalpha() and j.islower():#判断字符串j中所有字母为小写,加字母
result=result+j
elif j in a:#如果是标点符号,换成空格
result = result + " "
print(result)
实现效果
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-1
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
【更多内容敬请期待】