> 文档中心 > 2020校赛真题C 字符串预处理【Python习题】(保姆级图文+实现代码)

2020校赛真题C 字符串预处理【Python习题】(保姆级图文+实现代码)

目录

    • 题目
    • 思路
    • 代码
    • 实现效果
    • 总结

主要内容是校设课程的习题和课外学习的一些习题。

欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中

题目

题目来自PTAzjut命题组

  • 题目:栗酱想考察你的程序功底,故她设计了一个字符串预处理的问题。 给定一个连续的英文文本串,包含大小写字母,英文逗号(,)和英文句号(.)。 你需要完成以下处理: 1.将所有大写字母改为小写字母,并在原来的大写字母之前添加一个空格。 2.将所有英文逗号和英文句号替换成空格。

  • 输入格式:
    第一行一个整数T(T≤100),表示数据组数。 随后T组数据,每组数据,输入一行,包含一个连续的文本字符串,里面不包含空格,文本长度不超过1000。

  • 输出格式:
    对于每组数据,输出一行,表示完成预处理的文本字符串。

  • 输入样例:

1whatWillHappen,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 字符串预处理.pyt=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)

实现效果

2020校赛真题C 字符串预处理【Python习题】(保姆级图文+实现代码)


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-3-1

欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中

【更多内容敬请期待】