检查列表是否包含用户输入的字符串



首先,我检查了几种可能的解决方案,但他们没有解决我的问题。

下面是我的代码:
import webbrowser
webstr = ['https://','http://','www.','.com','.co.','.org','.net','.org','.gov','.edu','.nic']
search_string = input("Search Google or Type a URL: ")
if len(search_string)<1:
webbrowser.open_new_tab("https://www.google.com")
print("Opening Google.")
elif webstr in search_string:
webbrowser.open_new_tab(search_string)
print("Opening",search_string)
elif webstr not in search_string:
webbrowser.open_new_tab("https://www.google.com/search?q=" + search_string)
print("Searching Google for", search_string)

我想要的是一个简单的方法来检查在webstr列表中提供的短语输入字符串,如果任何短语匹配,相应地在浏览器中打开url。如果短语不在列表中,它应该在浏览器中搜索给定的字符串,或者如果搜索字符串太短,那么它应该返回到网站。

注:这是我第一次问问题,而且我还是个Python新手。

您想要查看webstr列表中是否有任何字段是输入的子字符串。你可以这样做:

if any(x in search_string for x in webstr)

下面的代码应该适合你的用例

import webbrowser
webstr = ['https://','http://','www.','.com','.co.','.org','.net','.org','.gov','.edu','.nic']
search_string = input("Search Google or Type a URL: ")
if len(search_string)<1:
webbrowser.open_new_tab("https://www.google.com")
print("Opening Google.")
elif any(x in search_string for x in webstr):
webbrowser.open_new_tab(search_string)
print("Opening",search_string)
else:
webbrowser.open_new_tab("https://www.google.com/search?q=" + search_string)
print("Searching Google for", search_string)

最新更新