如果条件在Python中跳过,则是合法的

时间:2015-08-01 07:14:30

标签: python if-statement

在我的代码中,有一个if条件,应该通过但由于某种原因正在跳过。它看起来像这样:

 if request.method == 'POST':
        email = request.POST.get('email',None) #<-- abc@domain.com
        user = User.objects.get(username = request.user.username) 
        user_email = user.email                #<-- u''
        if user_email is None or '' and email is not None:
                user.email = email

第二个if条件正在跳过,即使它是正确的(user_email是空字符串,电子邮件不是None)。我究竟做错了什么?我也试过两步分裂条件,但它仍在跳过。

2 个答案:

答案 0 :(得分:1)

问题是

if user_email is None or ''

你的意思是

if user_email in [None, '']

or之后,您无法在is之后包含多个值,或者在其他任何地方,实际上,英语和Python(以及几乎所有其他编程语言)在这方面都不同。您的代码基本上评估为

if (user_email is None) or ('' == True)

当然没有多大意义。

答案 1 :(得分:0)

试试这个。

int main()
{
    int i;
    for(i=0;i<100;i++)
    printf("%d",i);
    return 0;
}

我认为你可能没有得到正确的工作,因为你需要在或之后重复 user_mail是''