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

如何用Python计算溶液pH值?代码结果异常问题排查

问题

已知溶液中H⁺浓度为0.0000001,需通过公式pH = -log(H⁺)计算pH值。尝试用以下Python代码实现(取H数组最后一个元素的实部计算):

x = H[-1].real
print(x)

pH = -math.log(x)
print(pH)

但计算结果不正确,请问哪里出错了?

解答
  • 核心问题是Python的math.log()默认是自然对数(ln),而pH计算要求的是以10为底的对数(log₁₀),用错对数类型导致结果偏差。
  • 修正方案有两种:
    1. 直接使用专门的以10为底的对数函数math.log10():
      import math
      x = H[-1].real
      pH = -math.log10(x)
      print(pH)  # 输入0.0000001时会输出正确结果7
      
    2. 用换底公式通过自然对数转换:
      import math
      x = H[-1].real
      pH = -math.log(x) / math.log(10)
      print(pH)
      
  • 验证:0.0000001等于10⁻⁷,log₁₀(10⁻⁷) = -7,取负后就是7,完全符合pH的计算逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:21:03