我需要检查列表中的每个字符串是否在标题大小写。如果是则返回True,如果不是则返回False。我写了以下内容:
word_list=["ABC", "abc", "Abc"]
def all_title_case(word_list):
for word in word_list:
if not word.istitle():
return False
else:
return True
print(all_title_case(word_list))
我的问题是,似乎循环在第一个字符串后停止(我猜是因为返回?)
我怎样才能让它遍历整个列表呢?
*我是python新手
非常感谢!
您将立即返回if
和else
块。这在两种情况下都结束循环。
只能在if
块中返回。如果你完成了整个循环而没有返回,你就知道所有的单词都是标题大小写。
def all_title_case(word_list):
for word in word_list:
if not word.istitle():
return False
return True
您也可以使用all()
函数来代替循环。
def all_title_case(word_list):
return all(word.istitle() for word in word_list)
Return语句结束函数的执行,如果只在for迭代完成时返回True,您将得到您想要的
换句话说,你的return语句结束了for循环,你可以在这个问题上读到一些关于它的信息:如何在for循环中使用返回语句?
word_list=["ABC", "abc", "Abc"]
def all_title_case(word_list):
for word in word_list:
if not word.istitle():
return False
return True
print(all_title_case(word_list))