我需要檢查串列中的每個字串是否都在 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的新手
多謝!
uj5u.com熱心網友回復:
您將立即在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)
uj5u.com熱心網友回復:
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))
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340422.html
