[英]Loop stops after first iteration
我需要檢查列表中的每個字符串是否都在 titlecase 中。 如果是,則返回 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 循環,你可以在這個問題上閱讀一些關於它的內容: How to use a return statement in a for loop?
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.