为什么它总是返回假阳性?

2024-10-01 15:48:57 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我的代码在我写的代码中总是返回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"))

Tags: orno代码inalphaforlenreturn
3条回答

你的状况可能不是你想要的。它总是返回true,因为"k"(以及"c")是true。你想要的是:

if i=="b" or i=="k" or i=="c":

或者,更好:

if i in {"b", "c", "k"}:

因为在Python中,非空字符串的计算结果是True。您的问题的解决方案可以是以下之一

if i=="b" or i == "k" or i == "c":

或者

if i in ["b", "k", "c"]:

除此之外,您正在迭代一组错误的值。将for替换为

for i in alpha:

你错过了支票

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

  print(alphaToPhone("23ht"))

相关问题 更多 >

    热门问题