我正在做一些 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
和 is_lower("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)
