我在寫一個加載電影的外部txt文件的程序。這部分工作正常。然後我有一個功能,可以搜索從文件生成的電影列表。該功能應打印出以搜索字符串開頭的所有電影。Python:startswith()不按預期工作
def startsWithSearch(movieList):
searchString = input("Enter search string: ")
for movie in movieList:
if(movie.startswith(searchString) == True):
print(movie)
但是,當輸入搜索字符串時,即使列表中有以該字符串開頭的影片,也不會打印影片。
那麼,什麼是'正是movieList'?你不需要做'== True','if'*已經*測試了。 – 2015-04-03 21:05:57
'movie.startswith()'需要在字符串開始時進行精確(區分大小寫!)匹配。沒有關於你輸入什麼的細節以及你在'movieList'中給出了什麼值,我們無法幫助你找出值不匹配的地方。使用'repr()'或'ascii()'產生的輸出可以幫助你調試像這樣的問題:'print(repr(searchString))'和'print(repr(movie))'應該使它更加可見多少字符串確實匹配。 – 2015-04-03 21:08:19
縮進看起來破損,我想'print'語句應該比'if'縮進得更遠。你發佈了實際的代碼嗎? – 2015-04-03 21:18:31