Python:如何在if语句中放入多个and/or条件?

2024-06-28 11:08:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,觉得这有点简单,但在这里遇到了一些问题。我想在if语句中加入多个条件。我尝试这样做的代码部分如下所示:

if (pp_or_bi < 0.5 and (ppar > 0 or ppar < 0) and (bpar > 0 or bpar < 0)):
    tab.append(ppar[pele + 10*psel])
else:
    tab.append(bipar[bele + 8*bint])

这里发生了什么:ppar或bipar包含一些值,括号[]中的内容是选取ppar或bipar的某个数字(带有某个索引)附加到tab中。你知道吗

因为我更新东西的方式,如果ppar或bipar的一个元素是0,我会得到一个被零除的错误,无法继续。你知道吗

因此,我要做的是,当我开始讨论if conditional时,它需要满足一个条件,即ppar或bipar中的任何元素都不是零(如果是零,我不会将它附加到list tab)。你知道吗

我试着四处搜索语法应该是什么,但似乎在if语句中放置数组也有问题。我现在的语法不起作用。我真的很感激任何关于如何做这件事的帮助/建议。谢谢!你知道吗

编辑:有没有一种方法可以有条件地做到这一点,这样您就可以说ppar或bpar的两个连续值彼此不相等?因此,当您遍历一次语句并得到一个值,然后再次遍历它并得到相同的值时,它不会遍历if语句并附加到tab。你知道吗


Tags: orand代码元素if语法语句条件
3条回答

如果您所做的只是检查ppar或bipar是否为0,那么下面的工作就不能完成了吗?你知道吗

if (pp_or_bi < 0.5 and ppar!=0 and bpar!=0 ):
    tab.append(ppar[pele + 10*psel])
else:
    tab.append(bipar[bele + 8*bint])

我运行了以下代码:

pp_or_bi = 0.1
ppar = 2
bpar = 3
tab = []

if (pp_or_bi < 0.5 and (ppar > 0 or ppar < 0) and (bpar > 0 or bpar < 0)):
    print('first worked')
else:
    print('second worked')

而且效果很好。通过改变值,我得到了合适的结果。你的代码怎么了?你知道吗

如果ppar和bpar是列表,并且您希望在将其附加到“tab”之前确保其特定元素不为零。然后你可以额外检查一下,沿着这条线做一些事情:

if (pp_or_bi < 0.5):
    if (ppar[pele + 10*psel] != 0 ):
        tab.append(ppar[pele + 10*psel])
else:
    if (bipar[bele + 10*bint] != 0 ):  
        tab.append(bipar[bele + 8*bint])

相关问题 更多 >