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

如何将数值转换为百分比 运行代码报TypeError的解决方法

问题根因

抛出类型错误、输出不符合预期的核心原因有两点:

  • 函数名拼写错误:Python标准打印函数为全小写的print,你代码中大写开头的Print会被当前运行环境(通常是PySpark类大数据计算环境)识别为列处理API,该API仅接收字符串或列对象作为入参,传入普通数值时就会触发你看到的TypeError: Invalid argument, not a string or column报错。
  • 输出格式不匹配:原打印语句缺少预期文本中的is字段,数值和百分号之间多了冗余空格,数值保留精度也和预期输出要求不符。
修正方案

推荐直接使用f-string做格式化输出,不需要额外调用round函数,在格式化阶段直接控制小数位数即可,修正后可运行代码如下:

A = 860
B = 123
C = (B / A) * 100
print(f"The proportion of C is {C:.1f}%")

如果你习惯用round函数处理精度,也可以使用如下写法,注意添加sep=""参数去掉print默认拼接参数时插入的空格,避免数值和百分号之间出现空隙:

A = 860
B = 123
C = (B / A) * 100
print("The proportion of C is ", round(C, 1), "%", sep="")
运行结果

执行上述任意一段代码,都将得到完全匹配预期的输出:

The proportion of C is 14.3%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 10:24:20