这个if语句使我在python中无法访问的错误

问题描述

我不知道为什么这个if语句会导致我出现此错误,一开始我以为我的python版本可能有问题,儿子我将其卸载,然后再次安装,这是我的代码

def calc_bayes(prior_A,prob_B_dado_A,prob_B):
    return (prior_A * prob_B_dado_A) / prob_B
    if __name__ == '__main__':
        prob_cancer = 1 / 100000
        prob_sintoma_dado_cancer = 1
        prob_sintoma_dado_no_cancer = 10 / 99999
        prob_no_cancer = 1 - prob_cancer
        prob_sintoma = (prob_sintoma_dado_cancer * prob_cancer) + (prob_sintoma_dado_no_cancer * prob_cancer)
        prob_cancer_dado_sintoma = calc_bayes (prob_cancer,prob_sintoma_dado_cancer,prob_sintoma)
        print(prob_cancer_dado_sintoma)

解决方法

与注释中一样,您不能在定义内写入_ 名称 _ = _ 主要 _。相反,我认为您想这样做

def calc_bayes(prior_A,prob_B_dado_A,prob_B):
    return (prior_A * prob_B_dado_A) / prob_B
if __name__ == '__main__':
        prob_cancer = 1 / 100000
        prob_sintoma_dado_cancer = 1
        prob_sintoma_dado_no_cancer = 10 / 99999
        prob_no_cancer = 1 - prob_cancer
        prob_sintoma = (prob_sintoma_dado_cancer * prob_cancer) + (prob_sintoma_dado_no_cancer * prob_cancer)
        prob_cancer_dado_sintoma = calc_bayes (prob_cancer,prob_sintoma_dado_cancer,prob_sintoma)
        print(prob_cancer_dado_sintoma)