Python:每日一题85
- 2017-11-27 14:41:00
- 六月
- 来源:
- 85http://bbs.fishc.com/thread-95233-1-1.html
- 转贴 681
编写一个字符串处理函数,1)如果输入的字符串不包含元音字母(aeiouAEIOU)则输出这个字符且首字符小写其他大写;2)如果输入的字符串包含元音字母,则输入这个字符串且首个元音字母后面紧跟的一个辅音字母(非aeiouAEIOU)大写,其他小写,如果是连续元音字母则后推到后面第一个辅音字母;3)如果输入的字符串包含元音字母,按照2)无法找到辅音字母则输出这个字符串且全体大写。
- def fun(string):
- pass
- print(fun('str'))
- print(fun('FishC'))
- print(fun('boolean'))
- print(fun('too'))
- sTR
- fiShc
- booLean
- TOO
楼主的解法:
- def fun(string):
- vowel = set('aeiou')
- string = string.lower()
- if not set(string) & vowel:
- return string[0] + string[1:].upper()
- for i in range(len(string) - 1):
- if (string[i] in vowel) and (string[i + 1] not in vowel):
- return string[:i + 1] + string[i + 1].upper() + string[i + 2:]
- else:
- return string.upper()
发表评论