我在写一个加载电影的外部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