使用变量修复或声明

时间:2010-11-16 03:01:11

标签: python

我如何更改下面的代码,以便Python读取两个变量中的列表,然后在不执行错误的情况下执行操作?我的代码:

bad = ['bad','terrible', 'dumb']
good = ['good','happy','awesome']
talk = raw_input("type:")
if (bad) in talk:
     print "I'm sorry to hear that :("
elif (good) in talk:
     print "That's good!"

3 个答案:

答案 0 :(得分:6)

试试这个:

bad = set(['bad','terrible', 'dumb'])
good = set(['good','happy','awesome'])
talk = raw_input("type:")
if bad & set(talk.lower().split()):
     print "I'm sorry to hear that :("
elif good & set(talk.lower().split()):
     print "That's good!"

答案 1 :(得分:3)

这能满足您的需求吗?

bad = ['bad','terrible', 'dumb']
good = ['good','happy','awesome']
talk = raw_input("type:")

talk_list = talk.lower().split()

is_bad = any(w in bad for w in talk_list)
is_good = any(w in good for w in talk_list)

if is_bad:
     print "I'm sorry to hear that :("
elif is_good:
     print "That's good!"

答案 2 :(得分:0)

使用for循环并为'good'应用相同的逻辑。

for badStr in bad:
    if badStr in talk:
       print "I'm sorry to hear that :("
       break

for goodStr in good:
    if goodStr in talk:
       print "That's good!"
       break