python3 面试题 英文单词全部都是以首字母大写,逐个反转每个单词
2021/6/19 22:56:54
本文主要是介绍python3 面试题 英文单词全部都是以首字母大写,逐个反转每个单词,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
面试题
假设有一个字符串,每个英文单词全部都是以首字母大写,之后有小写字母,现需要逐个反转每个单词。
举例:
输入:"MyNameIsTom"
输出:"yMemaNsImoT"
解决方案及代码:
方法:1:
思路把英文单词切割出来,切割的思路根据前面一个单词小写,后面一个单词大写,于是可以拆分单词;
首先,判断字母是大写时,将前一个字符串追加的列表的末尾;
其次,前一个字符串在拼接的时候,将小写字母往前加;
再次,无论原字符串最后一个字母是大写还是小写,都需要追加的列表;
最后,拼接成最终的字符串;
代码:
a = "MyNameIsTom" l=[] s="" zs="" for i in range(len(a)): if a[i].isupper(): if len(s)!=0: l.append(s) s=a[i] else: s=a[i]+s l.append(s) zs="".join(l) # for i in l: # zs+=i print(l) print(zs)
运行结果:
['yM', 'emaN', 'sI', 'moT'] yMemaNsImoT
方法2:
找到每个含大写字母的单词后,反转并拼接成最终的字符串;
代码:
a = "MyNameIsTom" s = "" zs="" for i in range(len(a)): if a[i].islower(): s=a[i]+s #yM else: zs+=s #空,yM s=a[i] #M,N if i==len(a)-1: zs+=s print(zs)
运行结果:
yMemaNsImoT
方法3:
通过正则表达式,模糊匹配,找出大写字母;
代码:
import re a = "MyNameIsTom" zs="" dc=re.findall("[A-Z]{1}[a-z]+",a) print(dc) for i in dc: zs+=i[::-1] print(zs)
运行结果:
['My', 'Name', 'Is', 'Tom'] yMemaNsImoT
这篇关于python3 面试题 英文单词全部都是以首字母大写,逐个反转每个单词的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础