这是代码……………..当它运行时,它将只运行redditNeed==1,并打开5个窗口。当我点击除主页以外的任何其他页面时,它会给我webbrowser没有定义
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)开始时只需导入webbrowser一次
2)对每个条件使用elif语句而不是if语句
3)您将字符串与int进行比较,这永远不会是真的,因此您可以将redditneed转换为类似so int(redditneed)的int,或者将其与“2”之类的字符串进行比较,而不是2。你知道吗
4)如果你总是要打开一个网页,只需在ifs的末尾打开它,而不是在每个If语句中打开
5)我从您的评论中看到,您运行的是Python2.7,这意味着您不应该使用输入,应该使用原始输入
6)您请求帮助时没有向我们提供更多细节,例如您的python版本或错误代码,这意味着我们更难帮助您
7)最糟糕的是,你问了完全相同的问题一个小时后,你以前问它在这里没有尝试任何新的:What is wrong with this input code?? and browser launcher in python
下面是一些等效代码的示例
您正在比较字符串(从输入返回的值)和整数。尝试更改为:
或者像@GWW建议的那样,使用
int(...)
将输入转换为整数此外,不在代码中间进行导入是一种很好的做法,只需在文件开始时进行导入即可。你知道吗
相关问题 更多 >
编程相关推荐