Python代码由于未知原因忽略if-else语句
嗨,我正在尝试制作一个python脚本,它将执行谷歌搜索,无论你选择的网站是否基于关键字。但是,即使网站变量为空,我的脚本也不会忽略搜索操作。相反,它只是关闭窗口。我真的是Python新手,所以如果有人能在这个问题上给我一个正确的方向,我会非常感激Python代码由于未知原因忽略if-else语句,python,google-chrome,if-statement,Python,Google Chrome,If Statement,嗨,我正在尝试制作一个python脚本,它将执行谷歌搜索,无论你选择的网站是否基于关键字。但是,即使网站变量为空,我的脚本也不会忽略搜索操作。相反,它只是关闭窗口。我真的是Python新手,所以如果有人能在这个问题上给我一个正确的方向,我会非常感激 from googlesearch import search print("Results including the websites you picked:") if website1 != "":
from googlesearch import search
print("Results including the websites you picked:")
if website1 != "":
for y in keyword_list:
for i in search(website1+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
else:
print("-None")
if website2 != "":
for y in keyword_list:
for i in search(website2+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
else:
print("-None")
if website3 != "":
for y in keyword_list:
for i in search(website3+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
else:
print("-None")
if website4 != "":
for y in keyword_list:
for i in search(website4+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
else:
print("-None")
if website5 != "":
for y in keyword_list:
for i in search(website5+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
else:
print("-None")
input("press ENTER to continue")
print("Results not including the websites you picked:")
for y in keyword_list:
for i in search(y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
input("press ENTER to exit")
我对python也比较陌生,对stack overflow也非常陌生,所以我不知道我是否能提供很多帮助 我尝试运行您的代码,但它给了我以下错误: ModuleNotFoundError:没有名为“googlesearch”的模块 我不确定这是否与您所遇到的错误相同,或者我的python版本是否太过时,但也许可以尝试检查您的资本化情况 另外,可能尝试使用elif而不是else,因为我不确定是否可以在一行中使用多个else语句 所以不是
else:
print("-None")
if website2 != "":
for y in keyword_list:
for i in search(website2+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
试着做
elif website2 != "":
print("-None")
for y in keyword_list:
for i in search(website2+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
由于我在开头提到的错误消息,我不知道使用elif语句而不是else语句是否有效,或者我的答案是否有任何帮助
我还有一个链接,可以链接到一个非常有用的网站,用于可视化代码执行,这对我有很多帮助,尽管它对很多事情都不起作用:
祝你的代码好运,希望我说的话能有所帮助 我对python也比较陌生,对stack overflow也非常陌生,所以我不知道是否能帮上忙 我尝试运行您的代码,但它给了我以下错误: ModuleNotFoundError:没有名为“googlesearch”的模块 我不确定这是否与您所遇到的错误相同,或者我的python版本是否太过时,但也许可以尝试检查您的资本化情况 另外,可能尝试使用elif而不是else,因为我不确定是否可以在一行中使用多个else语句 所以不是
else:
print("-None")
if website2 != "":
for y in keyword_list:
for i in search(website2+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
试着做
elif website2 != "":
print("-None")
for y in keyword_list:
for i in search(website2+y, tld='com', lang='en', num=1, start=0, stop=1, pause=2.0):
print (i)
由于我在开头提到的错误消息,我不知道使用elif语句而不是else语句是否有效,或者我的答案是否有任何帮助
我还有一个链接,可以链接到一个非常有用的网站,用于可视化代码执行,这对我有很多帮助,尽管它对很多事情都不起作用:
祝你的代码好运,希望我说的话能有所帮助 下面是代码的简化版本,它添加了一点调试并删除了所有的复制+粘贴。添加的
打印
s将显示关键字
和网站
是什么;我怀疑你会发现其中一个是空的,这就是为什么你的循环没有做任何事情
from googlesearch import search
websites = [website1, website2, website3, website4, website5]
# Print websites and keywords for debugging.
print(f"Websites: {websites}")
print(f"Keywords: {keywords}")
def print_search_results(website: str) -> None:
"""Loop over all keywords and show results on the given website."""
for keyword in keyword_list:
for result in search(
website + keyword,
tld='com',
lang='en',
num=1,
start=0,
stop=1,
pause=2.0
):
print(result)
print("Results including the websites you picked:")
for website in websites:
if website:
print_search_results(website)
else:
print("-None")
input("press ENTER to continue")
print("Results not including the websites you picked:")
print_search_results("")
input("press ENTER to exit")
下面是代码的简化版本,它添加了一点调试并删除了所有的复制+粘贴。添加的
打印
s将显示关键字
和网站
是什么;我怀疑你会发现其中一个是空的,这就是为什么你的循环没有做任何事情
from googlesearch import search
websites = [website1, website2, website3, website4, website5]
# Print websites and keywords for debugging.
print(f"Websites: {websites}")
print(f"Keywords: {keywords}")
def print_search_results(website: str) -> None:
"""Loop over all keywords and show results on the given website."""
for keyword in keyword_list:
for result in search(
website + keyword,
tld='com',
lang='en',
num=1,
start=0,
stop=1,
pause=2.0
):
print(result)
print("Results including the websites you picked:")
for website in websites:
if website:
print_search_results(website)
else:
print("-None")
input("press ENTER to continue")
print("Results not including the websites you picked:")
print_search_results("")
input("press ENTER to exit")
所有这些
website1
等变量在哪里定义?和关键字列表
?你是如何运行这段代码的?是否有任何错误输出?没有错误输出,我知道问题出在代码的这一部分。您在脚本末尾有一个搜索,它不包含在if块中。可能是这样的?@BogamBugami如果你能在每个for循环中添加一些打印,我们就可以看到哪些被触发了。这些website1
等变量都是在哪里定义的?和关键字列表
?你是如何运行这段代码的?是否有任何错误输出?没有错误输出,我知道问题出在代码的这一部分。您在脚本末尾有一个搜索,它不包含在if块中。可能是吗?@BogamBugami如果你能在每个for循环中添加一些打印,我们就可以看到哪些被触发了。