520. 检测大写字母(Python)

题目

难度:★☆☆☆☆
类型:字符串

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

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

全部字母都是大写,比如"USA"。
单词中所有字母都不是大写,比如"leetcode"。
如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
否则,我们定义这个单词没有正确使用大写字母。

示例

示例 1:
输入: "USA"
输出: True

示例 2:
输入: "FlaG"
输出: False

解答

大写字母合法需要输入字符串满足以下条件中的一个:

  1. 所有字母均为大写字母;

  2. 所有字母均为小写字母;

  3. 既有大写字母又有小写字母时,要求第一个字母为大写字母,其他均为小写字母。

可以通过以下方式编码实现:

class Solution:
    def detectCapitalUse(self, word: str) -> bool:
        
        is_upper = [c.isupper() for c in word]          # 大写字符判别列表
        is_lower = [c.islower() for c in word]          # 小写字符判别列表
        
        if all(is_upper) or all(is_lower):              # 如果所有字符都是大写或小写
            return True                         

        if any(is_upper):                               # 如果既有大写又有小写
            return is_upper[0] and all(is_lower[1:])    # 要求第一个大写其他都小写

这里需要补充一些python知识点:

  1. 大小写判别。字符串中只有一个字符时,具有".islower()"和".isupper()"方法,可以实现对该字符是否为小写字符或大写字符进行判断,我们这里使用列表推导式对字符串中所有字符均进行判断;

  2. any和all。我们使用"any()"函数判断列表中是否有一个元素的布尔值为True,使用"all()"函数判断列表中是否所有元素的布尔值均为True。

如有疑问或建议,欢迎评论区留言~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,219评论 0 1
  • 前言 ||| 第二章 使用ArcPy编写脚本 Python支持大部分在其他语言中出现的编程结构。在本章内容中,我们...
    muyan阅读 90,804评论 10 55
  • 1.1 列表的定义 List(列表) 是Python中使用最频繁的数据类型,在其他语言中通常叫做数组 专门用于存储...
    体面_5376阅读 950评论 0 0
  • JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空...
    春木橙云阅读 616评论 0 0
  • 今天去记扫,不开心,因为那里好然,不开心,我都要种鼠
    曹喆120423阅读 259评论 0 0

友情链接更多精彩内容