Skip to main content
 首页 » 编程设计

Python 语法 if 语句

2025年05月04日17jirigala

我现在有

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)。起初我以为这是一个正则表达式问题,但即使转义连字符也会产生相同的结果。

请您参考如下方法:

如果 seq1[i] 或 seq2[i] == '-':

意思是:

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

如果 seq[i] 的值为 True(即如果 bool(seq1[i]) == True),那么条件语句将立即为真,因为 or。使用 or 运算符,如果一侧为 True,则条件运行。

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

因此,'hi' 被打印出来。