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

Python公式Q=√[(2*C*D)/H]结果整数四舍五入问题求助

解决Python公式计算中的四舍五入问题

嘿,我来帮你搞定这个小问题~

你现在的核心问题是没有对最终计算出的Q值做四舍五入取整,反而对已经是整数的D做了多余的round操作。咱们一步步来修正:

原代码的问题分析

  • 你输入的D已经是整数了,a=int(round(D))这一步完全没必要,round整数结果还是它本身;
  • 计算出Q之后,你直接打印了浮点数结果,没有对这个值进行四舍五入处理,所以得到了18.24而不是整数18。

修正后的代码

import math
C = 50
H = 30
# Python2用raw_input(),Python3用input()
D = int(raw_input())  
# 直接对根号计算的结果做四舍五入
Q = round(math.sqrt((2 * C * D) / H))
# 若需要确保输出是严格整数类型,可转为int:Q = int(round(math.sqrt((2 * C * D) / H)))
print(Q)

测试验证

当输入100时,计算过程是:

(2 * 50 * 100) / 30 = 10000 / 30 ≈ 333.333
开根号后≈18.257
经过round()四舍五入后得到整数18,完美符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:45:21