问题描述
我不知道为什么这个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)