2016-06-08 67 views
-6

我有这对我的脚本蟒蛇不会执行第二个条件,如果elif的

for x in test: 
    extra_data_list = ast.literal_eval(x['extra_data'][3]) 
    if extra_data_list.has_key('first_name') == True: 
     if extra_data_list['email_address'] == current_user['email']: 
      linked.append('Linkedin') 
    elif is_google == current_user['email']: 
     linked.append('Google Plus') 

,但是当我通过链接到我的模板,我得到了一个结果,只是“LinkedIn”, 即使第二个条件也真的,你能告诉我解决这个问题吗?

+1

你能不能改一下你的问题吗?似乎你假设我们知道该程序的其余部分。 “当我通过链接到我的模板” - 你的模板是什么?什么是链接? –

+1

那么哪个部分没有执行,应该是什么? –

回答

1

您在elif之前缺少一个选项卡。它的引用到外部如果

0

因为第一个条件为真,你的代码不能执行elif!

你可以只用一个正常的if语句:

for x in test: 
    extra_data_list = ast.literal_eval(x['extra_data'][3]) 
    if extra_data_list.has_key('first_name') == True: 
     if extra_data_list['email_address'] == current_user['email']: 
      linked.append('Linkedin') 
    if is_google == current_user['email']: 
     linked.append('Google Plus')