Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串的islower()-Python_Python_String_Function - Fatal编程技术网

字符串的islower()-Python

字符串的islower()-Python,python,string,function,Python,String,Function,我正在做一些Python自学(非常初学者),我被给我的这个练习难住了——这个练习的目的是检查字符串是否有小写字母: def is_lower(word): for x in word: if x.islower(): return True else: return False is_lower(“Cat”)返回False is_lower(“cAt”)返回True 并且较低(“caT”)返回True 我不

我正在做一些Python自学(非常初学者),我被给我的这个练习难住了——这个练习的目的是检查字符串是否有小写字母:

def is_lower(word):
    for x in word:
        if x.islower():
            return True
        else:
            return False
is_lower(“Cat”)
返回
False

is_lower(“cAt”)
返回
True

并且
较低(“caT”)
返回
True


我不知道为什么会有这些差异——它似乎只是在测试单词的第一个字母,我也不知道为什么。我认为它应该遍历单词的每个字母,因为它是一个for循环

在读取所有字符之前,您需要保持循环

for x in word:
    if x.islower():
        # We found *one* lower case letter, so return True
        return True
# We found *no* lower case letters, so return False
return False
或者,您可以简化:

return any(x.islower() for x in word)

你需要一直循环直到你读到所有的字符

for x in word:
    if x.islower():
        # We found *one* lower case letter, so return True
        return True
# We found *no* lower case letters, so return False
return False
或者,您可以简化:

return any(x.islower() for x in word)

第一次执行该循环时,您要么点击if语句(返回True),要么点击else语句(返回False)。你永远无法进入第二个角色

def is_lower(word):

    for x in word:
        if x.islower():
            #Found a lowercase letter!
            return True
    #Okay, now we're done with the for loop.
    #We have not encountered any lower case letters
    return False

第一次执行该循环时,您要么点击if语句(返回True),要么点击else语句(返回False)。你永远无法进入第二个角色

def is_lower(word):

    for x in word:
        if x.islower():
            #Found a lowercase letter!
            return True
    #Okay, now we're done with the for loop.
    #We have not encountered any lower case letters
    return False

在第一个循环中直接从函数中返回。你说的是

  • 把所有的字母循环一遍
  • 检查此字母是否为小写
  • 我们完了!返回该值
  • 你可能想做的是

    for x in word:
        if x.islower():
            return True
    else:
        return False
    

    这将查找第一个字母,如果找到小写和any,它将返回True

    您将直接从第一个循环的函数中返回。你说的是

  • 把所有的字母循环一遍
  • 检查此字母是否为小写
  • 我们完了!返回该值
  • 你可能想做的是

    for x in word:
        if x.islower():
            return True
    else:
        return False
    

    这将查找第一个字母,如果找到小写和any,它将返回True

    这与编程控制流有关。 当函数点击return语句时,它将停止函数并将值返回到调用函数的位置

    对于单词
    Cat
    ,您将使用word:语句中x的
    逐个循环true到单词,首先检查第一个字母
    C
    ,该字母不低,因此返回
    False
    ,函数停止,其他字母不检查

    单词
    cAt
    也会发生同样的情况,它检查第一个字母a
    c
    (小写),到达
    返回True
    ,函数停止

    而是使用一个类似于以下的函数:

    for x in word:
        if x.islower():
            return True
    return False
    

    在这里,将检查每个字母是否较低,如果其中一个较低,则返回True。只有在最后,当所有字母都不低时,才会返回False。

    这与编程控制流有关。 当函数点击return语句时,它将停止函数并将值返回到调用函数的位置

    对于单词
    Cat
    ,您将使用word:
    语句中x的
    逐个循环true到单词,首先检查第一个字母
    C
    ,该字母不低,因此返回
    False
    ,函数停止,其他字母不检查

    单词
    cAt
    也会发生同样的情况,它检查第一个字母a
    c
    (小写),到达
    返回True
    ,函数停止

    而是使用一个类似于以下的函数:

    for x in word:
        if x.islower():
            return True
    return False
    

    在这里,将检查每个字母是否较低,如果其中一个较低,则返回True。只有在最后,当所有字母都不低时,才会返回False。

    如果您想要一行:

    print True if any(x.islower() for x in word) else False
    

    如果您想要一行:

    print True if any(x.islower() for x in word) else False
    
    我们应该做到这一点。基本上,循环遍历所有字母(如果有小写字母),返回True(从而退出整个函数)。如果在for循环结束时尚未返回,则返回False


    我们应该做到这一点。基本上,循环遍历所有字母(如果有小写字母),返回True(从而退出整个函数)。如果在for循环结束时还没有返回,则返回False。

    如果确实要简化,为什么不执行
    word.islower()
    ?@ekhumro,它将返回
    True
    如果所有字符都是小写的,OP希望返回
    True
    如果任何字符都是小写的。如果确实要简化,为什么不执行
    word.islower()
    ?@ekhumoro,如果所有字符都是小写,则返回
    True
    ,如果任何字符都是小写,则OP希望返回
    True
    。这实现了错误的逻辑。它检查是否所有字符都是小写的,OP想检查是否有任何字符是小写的。这实现了错误的逻辑。它检查是否所有字符都是小写的,OP想检查是否有任何字符是小写的。