运行ThinkBayes库Pmf模块脚本时出现语法错误,请求协助解决
解决Python3中print语句的SyntaxError问题
你遇到的这个语法错误,根源在于Python 3与Python 2的print语法差异:
- 在Python 2中,
print是一个语句,无需括号就能直接使用,比如print pmf.Prob('Bowl 1')是合法的; - 但到了Python 3,
print被改为内置函数,必须用括号包裹输出内容,否则就会触发SyntaxError。
只需要修改最后一行的print语句,给它加上括号就能解决问题,修正后的完整代码如下:
from thinkbayes import Pmf pmf = Pmf() pmf.Set('Bowl 1', 0.5) pmf.Set('Bowl 2', 0.5) pmf.Mult('Bowl 1', 0.75) pmf.Mult('Bowl 2', 0.5) pmf.Normalize() print(pmf.Prob('Bowl 1')) # 为print添加括号,符合Python3语法
如果后续还遇到其他兼容性问题,可以留意你的ThinkBayes版本是否适配Python3,但当前这个错误的核心就是print的语法转换,修改后应该就能正常运行了。
内容的提问来源于stack exchange,提问作者TiomWamena
相关产品推荐
相关产品推荐

