我写了一个python代码,它将用户输入并转换为大写以匹配我的肯定列表和否定列表。但它没有适当考虑负面清单。我似乎没有给出条件性陈述,这是错误的。我尝试了两个代码,但是没有用。另外,我尝试使用len(words)
总结了多少正面反馈和负面反馈,但根本没有用。
- **code1:**
keyword_list = ['GOOD', 'ADMIRE', 'SUPER', 'BEST', "INCREDIBLE", 'NOT BAD', 'NOT SO BAD', 'KEEP IT UP']
print("Enter your feedback")
user_review = input().upper()
if set(keyword_list).intersection(user_review.split()):
print ("POSTIVE FEEDBACK")
else:
print("NEGATIVE FEEDBACK")
- **code2:**
negative_words = ['BAD', 'TERRIBLE','NOT GOOD']
positive_words = ['GOOD', 'ADMIRE', 'SUPER', 'BEST', "INCREDIBLE"]
print("Enter your honest review")
user_review = input().upper()
for review in user_review:
# split the tweet into words:
words = review.split()
if set(positive_words).intersection(user_review.split()):
print ("POSTIVE REVIEW")
elif set(negative_words).intersection(user_review.split()):
print ("NEGATIVE REVIEW")
else:
print("MODERATE REVIEW")
答案 0 :(得分:0)
您是否尝试过调试?
set(keyword_list).intersection(['NOT', 'BAD'])
这是您的结果
set(keyword_list).intersection(user_review.split())
以NOT BAD
作为输入。
这将返回一个包含空白列表的集合:set([])
那是因为'NOT'和'BAD'不是集合的元素。 NOT BAD
是。如果将两个单词元素分开,将无法使用。
无论如何,您可以通过这种方式实现目标
negative_words = ['BAD', 'TERRIBLE','NOT GOOD']
positive_words = ['GOOD', 'ADMIRE', 'SUPER', 'BEST', "INCREDIBLE"]
user_review = input("Enter your honest review").upper()
if user_review in positive_words:
print("POSITIVE REVIEW")
elif user_review in negative_words:
print("NEGATIVE REVIEW")