面试题:Python大小写转换

1,801 阅读1分钟

小文:今天面试又搞砸了?

小 k:怎么了?

小文:又一个大小写转换的题目感觉答错了。

小 k:说来听听。

小文:将"hello world"转换为首字母大写"Hello World"

小 k:你的答案是什么?

小文:用 capitalize 方法啊。

小 k:capitalize 方法只能将第一个单词的首字母大写,你这题目要求是两个单词的首字母都要大写。

小文:刚运行了下代码,还真是这样,有什么办法吗?

小 k:有两个方法可解,一种简单,一种复杂,你听那种?

小文:简单的吧

小 k:那我先讲复杂的。思路是把字符串切割成两个元素的列表,一个元素就是一个单词。

arr = "hello world".split(" ")

把 arr 打印出来的结果是列表:['hello', 'world']

再把列表里的元素首字母都转换为大写。

arr[0].capitalize()
arr[1].capitalize()

再用连接符拼接起来,中间加上空格。

new_str = arr[0].capitalize() + ' ' + arr[1].capitalize()

这样就把两个单词的首字母都大写了。

小文:那简单的方法呢?

小 k:用 title() 方法搞定。

"hello world".title()

小文:就这么简单?

小 k:是的,我们来看看 title() 方法的说明。

    def title(self): # real signature unknown; restored from __doc__
        """
        S.title() -> str
        
        Return a titlecased version of S, i.e. words start with title case
        characters, all remaining cased characters have lower case.
        """
        return ""

翻译一下,以标题的形式返回字符串,即字符串单词首字母大写,其余字符串小写。

是不是很简单。

小文:学到了,下次面试考这个再也不怕了。