欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

520. 检测大写字母

程序员文章站 2022-05-15 14:09:24
...

给定一个单词,你需要判断单词的大写使用是否正确。

我们定义,在以下情况时,单词的大写用法是正确的:

  1. 全部字母都是大写,比如"USA"。
  2. 单词中所有字母都不是大写,比如"leetcode"。
  3. 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。

否则,我们定义这个单词没有正确使用大写字母。

示例 1:

输入: "USA"
输出: True

示例 2:

输入: "FlaG"
输出: False

注意: 输入是由大写和小写拉丁字母组成的非空单词。


补充ascii对应的数字:


520. 检测大写字母


ord()将字符转换为ASCII码

  1. # 要求:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
  2. def count(s):
  3. count_a=count_z=count_o=count_s=0
  4. for i in s:
  5. if (ord(i)>=97 and ord(i)<=122) or (ord(i)>=65 and ord(i)<=90):
  6. count_a=count_a+1
  7. elif ord(i)>=48 and ord(i)<=57:
  8. count_z=count_z+1
  9. elif ord(i)==32:
  10. count_s=count_s+1
  11. else:
  12. count_o=count_o+1
  13. print "英文字母个数:%d个"%count_a
  14. print "数字个数:%d个"%count_z
  15. print "其他字符个数:%d个"%count_o
  16. print "空格个数:%d个"%count_s
  17. if __name__=="__main__":
  18. s=raw_input("请输入一串字符:")
  19. count(s)


A-Z:65-90   a-z:97-122

数字:48-57

空格:32

解答:

# -*- coding:utf-8 -*-
class Solution(object):
    def detectCapitalUse(self, word):
        """
        :type word: str
        :rtype: bool
        """
        count_b = 0
        for i in word:
            if(ord(i)>=65 and ord(i)<=90):  # 如果是大写字母
                count_b+=1
        if(count_b==len(word) or count_b==0): # 全是小写或者全是大写
            return True
        if(count_b==1 and ord(word[0])>=65 and ord(word[0])<=90): # 如果只有第一个字母是大写
            return True

        else:
            return False

def main():
    word = "a"
    rs = Solution()
    print(rs.detectCapitalUse(word))

if __name__ == '__main__':
    main()
别人:
class Solution(object):
    def detectCapitalUse(self, word):
        """
        :type word: str
        :rtype: bool
        """
        t = word
        t1 = word.upper()
        t2 = word.lower()
        t3 = t2.title() #首字母大写
        return  t==t1 or t==t2 or t==t3