这是代码.................................................... .....当它运行时,只会运行redditNeed == 1并打开5个窗口。然后当我点击除主页以外的其他任何东西时,它给我的网络浏览器未定义

redditNeed = input("which subreddit do you want to reach; front page{1}, athesism{2}, bitcoin{3}, politics{4}, worldnews{5}")

if redditNeed == 1:
    import webbrowser
    url="http://reddit.com"
    webbrowser.open(url)

if redditNeed == 2:
    import webbrowser
    url="http://reddit.com/r/atheism"
    webbrowser.open(url)

if redditNeed == 3:
    import webbrowser
    url="http://reddit.com/r/bitcoin"
    webbrowser.open(url)

if redditNeed == 4:
    import webbrowser
    url="http://www.reddit.com/r/politics"
    webbrowser.open(url)

if redditNeed == 5:
    import webbrowser
    url="http://www.reddit.com/r/worldnews"
    webbrowser.open(url)

最佳答案

值得指出的几件事

1)您只需要在开始时导入一次Web浏览器

2)对每个条件使用elif语句代替if语句

3)您正在将字符串与int进行比较,这将永远是不正确的,因此您可以将redditneed转换为int这样的int(redditneed)或将其与诸如“ 2”而不是2的字符串进行比较。

4)如果您要始终打开网页,则只需在ifs末尾打开它,而不要在每个if语句中都进行操作

5)我从您的评论中看到您正在运行python 2.7,这意味着您不应该使用input,而应该使用raw_input

6)您在没有提供更多详细信息的情况下寻求帮助,例如您的python版本或错误代码,这意味着我们很难为您提供帮助

7)最糟糕的是,您之前在这里提出问题的一个小时后就问了完全相同的问题,没有尝试任何新的尝试:What is wrong with this input code?? and browser launcher in python

这是一些等效代码的示例

import webbrowser

redditNeed = raw_input("which subreddit do you want to reach; front page{1}, atheism{2}, bitcoin{3}, politics{4}, worldnews{5}")
redditNeed = int(redditNeed)

if   redditNeed == 1: url="http://reddit.com"
elif redditNeed == 2: url="http://reddit.com/r/atheism"
elif redditNeed == 3: url="http://reddit.com/r/bitcoin"
elif redditNeed == 4: url="http://www.reddit.com/r/politics"
else:                 url="http://www.reddit.com/r/worldnews"

webbrowser.open(url)

关于python - 此输入代码有什么问题?和python中的浏览器启动器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22418761/

10-09 07:24
查看更多