我正在写一个程序,加载一个外部txt文件的电影。这部分工作得很好。然后我有一个函数可以搜索从该文件生成的电影列表。函数应该打印出以搜索字符串开头的所有电影。在
def startsWithSearch(movieList):
searchString = input("Enter search string: ")
for movie in movieList:
if(movie.startswith(searchString) == True):
print(movie)
但是,当我输入搜索字符串时,不会打印电影,即使列表中有以该字符串开头的电影。在
我认为可能是
input()
函数在末尾返回了一个新行。收集输入数据后,尝试添加searchString = searchString.strip()
。 此外,在比较之前,您可能需要尝试将两者都转换为小写。在同样,行
if(movie.startswith(searchString) == True):
可以写成if movie.startswith(searchString):
如果给定正确的输入数据,则函数将按预期工作:
输出为:
^{pr2}$所以一切都正确。。。必须是您的输入数据
我知道你想要一个StartWith解决方案,正如你的函数名所说,但实际上搜索电影,这是非常方便的,如果你在字符串中找到任何匹配,那么如果我搜索“mentalist”,我会找到“the mentalist”,那么你可以使用:
正如安娜建议的那样,忽略这个案子:
或者更喜欢使用正则表达式(第一行需要
import re
):或者如果你真的只想在名字的开头匹配:
这就足够了:)
相关问题 更多 >
编程相关推荐