方法不作为Tru返回

2024-05-29 03:03:42 发布

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

我正在尝试将True从isCorrect方法返回到correctMessage方法。但由于输出不正确,correctMessage无法正常运行 “函数在0x000000处正确”

def correctMessage(isCorrect, tryAnswer, questionAnswer):
    if isCorrect is True:
        return print("Yes! You answered \"", 
                     str(tryAnswer), "\" and the answer was " + questionAnswer)

def isCorrect(tryAnswer, questionAnswer):
    if str(tryAnswer).lower() == questionAnswer:
        return True
    return False

我该怎么做才能正确评估


Tags: 方法函数youtruereturnifisdef
3条回答
def correctMessage(isCorrect, tryAnswer, questionAnswer):
    if isCorrect(tryAnswer, quenstionAnswer):
        print("Yes! You answered \"", str(tryAnswer), "\" and the answer was " + questionAnswer)

def isCorrect(tryAnswer, questionAnswer):
    return str(tryAnswer).lower() == questionAnswer:

您没有调用isCorrect,而是测试函数本身是否是True。添加paren并传递isCorrect所需的两个参数

旁注:在isCorrect中不需要有两个返回的ifreturn str(tryAnswer).lower() == questionAnswer会更快地完成同样的事情

类似地,测试if x is True:是丑陋的,而且几乎总是错误的,只要测试if x:,除非值True是非常重要的,并且与所有其他真实值不同(在这种情况下,它是唯一真实的可能性,所以只做if isCorrect(...):会更快、更像Python)

您需要使用希望传递给isCorrect的参数调用isCorrect。 您当前正在检查物理函数isCorrect是否等于True—事实并非如此

相关问题 更多 >

    热门问题