与python相比很新,但在C中有一些经验。
if语句的工作方式与C中的工作方式相同吗?将if语句放在另一个if语句下面以检查错误返回。
我试图在python中使用elif语句似乎有问题可以帮助我弄清楚这里的问题是什么?
#!/usr/bin/env python3
# TODO
#import nltk
from helpers import get_user_timeline
from analyzer import Analyzer
#ZYMAYLA'S HINTS
#ensure proper usage
#argv
def main():
if len(sys.argv) != 2:
sys.exit("Usage: ./smile @username")
# absolute paths to lists
positives = os.path.join(sys.path[0], "positive-words.txt")
negatives = os.path.join(sys.path[0], "negative-words.txt")
#get tweets
##get_user_timeline (in helpers.py)
if get_user_timeline(screen_name, count=200) is False:
#Check if successful
#if private account or does not exist(unsuccessful)
#error message if unsuccessful(sys.exit)
sys.exit("account either private or does not exist")
#tokenize the tweet (like we did in analyzer.py for "smile")
#tokenizers are part of natural language toolkit
#use a TweetTokenizer to split into a list of words
#analyze tweets
#initialize Analyzer
analyzer = Analyzer(positives, negatives)
#instantiate Analyzer, iterate over every token scoring them pos,neg,neutral (this will indicate if the tweet is posistive/negative/neutral)
score = analyzer.TweetAnalyzer(sys.argv[1])
if score > 0.0:
#print score
print(colored("{}".format(score), "green", end=''))
#print tweet
print("{}".format(tweet)
elif score < 0.0:
print(colored("{}".format(score), "red", end=''))
#print tweet
print("{}".format(tweet)
else:
print(colored("{}".format(score), "yellow", end=''))
#print tweet
print("{}".format(tweet)
if __name__ == "__main__":
main()
答案 0 :(得分:2)
您在上一行中缺少一个括号:
print("{}".format(tweet)
这应该是:
print("{}".format(tweet))
......第48和53行的print
相同。
答案 1 :(得分:2)
if / elif / else块中的最后一个print语句都缺少结束括号