首先,我檢查了幾種可能的解決方案,但他們沒有解決我的問題。
下面給出的是我的代碼:
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。 如果詞組不在串列中,它應該在瀏覽器中搜索給定的字串,或者如果搜索字串太短,那么它應該回傳到該網站。
PS 這是我第一次提問,我是 Python 新手。
uj5u.com熱心網友回復:
您想查看 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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/322294.html
上一篇:我正在努力理解以下串列理解
下一篇:從字典中洗掉特定值
