具有嵌套多个条件的if语句

Loo*_*ast 2 python if-statement

我试图在Python中的if语句中添加多个条件,如下所示:

if (h9 == h1 or h9 == h2 or h9 == h3 or h9 == h4 or h9 == h5 or h9 == h6 or h9 == h7 or h9 == h8) and (h10 == h1 or h10 == h2 or h10 == h3 or h10 == h4 or h10 == h5 or h10 == h6 or h10 == h7 or h10 == h8) :
     do sth.
Run Code Online (Sandbox Code Playgroud)

基本上它是一个OR条件都h9h10在同一时间.
但是,这不起作用,并给出如下错误:

IndentationError: unindent does not match any outer indentation level

有什么问题?

Pla*_*ure 9

没有更多上下文,不知道缩进错误,但是你可以做些什么来if缩短条件:

lst = [h1, h2, h3, h4, h5, h6, h7, h8]
if h9 in lst and h10 in lst:
    pass
Run Code Online (Sandbox Code Playgroud)

此外,您应该使用更多描述性变量名称.


哦,如果你有很多元素并计划进行大量搜索,你可能会喜欢集合:

s = set([h1, h2, h3, h4, h5, h6, h7, h8])    # {h1, h2, h3, ...} in Python 3.x
if h9 in s and h10 in s:
    pass
Run Code Online (Sandbox Code Playgroud)