给定一个单词,你需要判断单词的大写使用是否正确。
我们定义,在以下情况时,单词的大写用法是正确的:
全部字母都是大写,比如"USA"。
单词中所有字母都不是大写,比如"leetcode"。
如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
否则,我们定义这个单词没有正确使用大写字母。示例 1:
输入: "USA"
输出: True
示例 2:输入: "FlaG"
输出: False
注意: 输入是由大写和小写拉丁字母组成的非空单词。来源:力扣(LeetCode)
代码:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
"""
@author: WowlNAN
@github: https://github.com/WowlNAN
@blog: https://blog.csdn.net/qq_21264377
"""
class Solution:
def detectCapitalUse(self, word: str) -> bool:
# 使用ASCII码检测大小写字母
upper=0
lower=0
i=0
for letter in word:
# 大写字母
if ord(letter)>=65 and ord(letter)<=90:
upper+=1
# 小写字母
elif ord(letter)>=97 and ord(letter)<=122:
lower+=1
# 首字母为小写
if upper==0 and i==0:
i+=1
return upper==0 or upper==len(word) or (upper==1 and i==0)