面試題:Python大小寫轉換

  • 2019 年 10 月 9 日
  • 筆記

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

小 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 ""

翻譯一下,以標題的形式返回字符串,即字符串單詞首字母大寫,其餘字符串小寫。

是不是很簡單。

小文:學到了,下次面試考這個再也不怕了。

關注微信公眾號 Python知識圈 ,獲取更多 Python 精彩內容。