为什么它会继续假阳性?

Jac*_*sen 0 python string loops if-statement letter

为什么我的代码在我编写的代码中继续返回yes?

def alphaToPhone(alpha):
    for i in range(len(alpha)):
        if i=="b" or "k" or "c":
            phone="yes"
        else:
            phone="no"
    return phone

print(alphaToPhone("23ht"))
Run Code Online (Sandbox Code Playgroud)

mic*_*ael 7

因为非空字符串True在Python中评估.解决问题的方法可能是以下之一

if i=="b" or i == "k" or i == "c":
Run Code Online (Sandbox Code Playgroud)

要么

if i in ["b", "k", "c"]:
Run Code Online (Sandbox Code Playgroud)

除此之外,你正在迭代一组错误的值.更换你for

for i in alpha:
Run Code Online (Sandbox Code Playgroud)

  • 他在范围内迭代.您正在将索引与字母进行比较. (2认同)