根据python中的OR运算符分配值

问题描述 投票:-1回答:3

我是python的新手,在这里我试图检查两个值。

if val1 == 160 or val2 == 160:

将所有为真的值赋给100。如果两个都为真,则两者都应变为100。

def check_two(l1,l2):
    is_Equal = False
    if(len(l1) == len(l2)):
        for i in range(len(l1)):
            if not_equals(l1[i],l2[i]):
                return False
            else:
                is_Equal = True;
                continue

def not_equals(val1,val2):
    if val1 == 160:
        val1 = 100
    if val2 == 160:
        val2 = 100     
    return val1 != val2

所以,在这里我试图返回True,如果三个值都为真,那么那一次我不能在继续之前做它,因为它会跳出循环。所以我该如何检查?

python pandas python-3.7
3个回答
1
投票

elif代表else if,它保证最多执行一个分支。只需执行以下操作即可:

if val1 == 160:
    val1 = 100
if val2 == 160:
    val2 = 100

还请注意要分配的单个=运算符,而不是用于比较的==


0
投票

尝试在下面使用代码。

if val1 == 160 and val2 == 160:
    val1 = 100
    val2 = 100
elif val1 == 160:
    val1 = 100
elif val2 == 160:
    val2 = 100

0
投票

您可以使用ternary operator

val1 = 100 if val1 == 160 else val1
val2 = 100 if val2 == 160 else val2
© www.soinside.com 2019 - 2024. All rights reserved.