Python代码由于未知原因忽略if-else语句

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 != "":

嗨,我正在尝试制作一个python脚本,它将执行谷歌搜索,无论你选择的网站是否基于关键字。但是,即使网站变量为空,我的脚本也不会忽略搜索操作。相反,它只是关闭窗口。我真的是Python新手,所以如果有人能在这个问题上给我一个正确的方向,我会非常感激

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循环中添加一些打印,我们就可以看到哪些被触发了。