[高级编程技术作业]LeetCode Problem 520. Detect Capital
程序员文章站
2022-05-15 14:05:58
...
Description:
Given a word, you need to judge whether the usage of capitals in it is right or not.
We define the usage of capitals in a word to be right when one of the following cases holds:
- All letters in this word are capitals, like "USA".
- All letters in this word are not capitals, like "leetcode".
- Only the first letter in this word is capital if it has more than one letter, like "Google".
Example 1:
Input: "USA" Output: True
Example 2:
Input: "FlaG" Output: False
Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
解题思路:单词大小写字母使用检测,全大写、全小写或首字母大写。题目比较简单,显然可以用循环的方法分三种情况实现检测。但我们可以想到Python字符串有一些特殊的方法,可以用于这道题:upper、lower和capitalize,这三种函数可以将单词“格式化”。所以,若单词的格式本身就正确,则该单词一定与某种格式化后的单词一样。
Solution:
class Solution:
def detectCapitalUse(self, word):
"""
:type word: str
:rtype: bool
"""
if word == word.upper():
return True
elif word == word.lower():
return True
elif word == word.capitalize():
return True
else:
return False
分析:
该题很好地体现了Python语言的特性与便利,实际上该题可以一行解决:
return word == word.upper() or word == word.lower() or word == word.capitalize()
做题时一时没有想到,实质上几条if语句之间是 或 的关系。
提交结果: