我目前有
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/