You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用字符串替换打印准确率时触发SyntaxError语法错误求助

解决Python打印准确率时的语法错误

这个问题很典型——你写的是Python 2的语法,但运行环境是Python 3,再加上字符串格式化的小问题,直接触发了语法错误。咱们一步步来解决:

错误原因拆解

  1. Python 3中print是函数,必须加括号:你写的print "Accuracy :%s"是Python 2的写法,Python 3要求必须用print(...)的函数调用形式,这是导致语法报错的直接原因。
  2. 不必要的格式化混用:你同时用了%s占位符和str.format()方法,其实二者选其一就够了,混用反而显得多余。

修正后的代码

方法一:用str.format()(兼容Python 3.0+)

accuracy = metrics.accuracy_score(predictions, data[outcome])
print("Accuracy: {0:.3%}".format(accuracy))

方法二:用f-string(Python 3.6+推荐,写法更直观)

accuracy = metrics.accuracy_score(predictions, data[outcome])
print(f"Accuracy: {accuracy:.3%}")

补充说明

  • 两种写法都会把准确率格式化为保留三位小数的百分比形式,比如准确率是0.925的话,会输出Accuracy: 92.500%。
  • 如果你确实需要在Python 2环境运行,可以调整为%格式化的写法:
    print("Accuracy: %.3f%%" % (accuracy * 100))
    
    不过更推荐统一使用Python 3的写法,毕竟Python 2已经停止维护了。

内容的提问来源于stack exchange,提问作者learningtocode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:31:07