字符串的islower()-Python
我正在做一些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 我不
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
也会发生同样的情况,它检查第一个字母ac
(小写),到达返回True
,函数停止
而是使用一个类似于以下的函数:
for x in word:
if x.islower():
return True
return False
在这里,将检查每个字母是否较低,如果其中一个较低,则返回True。只有在最后,当所有字母都不低时,才会返回False。这与编程控制流有关。
当函数点击return语句时,它将停止函数并将值返回到调用函数的位置
对于单词Cat
,您将使用word:
语句中x的逐个循环true到单词,首先检查第一个字母C
,该字母不低,因此返回False
,函数停止,其他字母不检查
单词cAt
也会发生同样的情况,它检查第一个字母ac
(小写),到达返回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想检查是否有任何字符是小写的。