我目前有

seq1 = "--MFA"
seq2= "--MFU"

for i in range(0, len(seq1)):

    if seq1[i] or seq2[i] == '-':

        print  "hi"
    else:
        print "bye"


为什么打印5次“ hi”(即使seq1 [i]和seq1 [i]是M,F,A / U)。我起初以为是正则表达式问题,但即使转义连字符也能得到相同的结果。

最佳答案

if seq1[i] or seq2[i] == '-':

手段:

if (seq1[i]) or (seq2[i] == '-'):

如果seq[i]的值为True(即bool(seq1[i]) == True),则由于or,条件语句将立即为true。对于or运算符,如果一侧是True,则条件运行。

请注意,bool(seq1[i])始终为True,因为任何长度的字符串都被视为True。

因此,将打印'hi'

关于python - Python语法if语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19827173/

10-12 21:08