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

Python编写泳池水量计算程序无法输出计算结果问题排查

程序故障原因

你的泳池注水量计算代码跑不通、结果不对,是3个核心问题导致的:

  • 覆写了Python内置的print函数:你从第一处交互开始就写print = input(...),把原本用来输出内容的print函数变成了存储用户输入内容的变量,后续所有想调用print输出的逻辑全部失效,最后一行print = (total)只是给这个叫print的变量赋值,根本不会把结果显示在屏幕上。
  • 单位换算公式完全错误:你输入的长宽高单位是英尺,三者相乘得到的是立方英尺体积,1立方英尺约等于28.3168升,你写的除以100000的计算逻辑没有任何单位依据,算出来的数值和实际注水量差了几个数量级。
  • 存在无效冗余代码:单独写的exec没有任何调用参数,属于完全不生效的废代码;交互提示要求用户按7次回车,但你写了8个input等待输入,逻辑不匹配,欢迎的ASCII字符也被放在input里,用户按回车过程中看不到完整的欢迎效果。
修复后可直接运行的代码
# 程序功能说明
print("This program will assist home owners calculate measure of water for in-ground swimming pool.")
# 引导用户按回车进入程序
input("Please Press Enter 7 times")
# 打印欢迎语和ASCII装饰
print("Welcome! Let’s get right to it!")
print("  ☆ * . ☆")
print("*    . ∧_∧ ∩ * ☆")
print("* ☆ ( ・∀・)/ .")
print("  . ⊂⠀⠀⠀⠀ノ* ☆")
print(" ☆ * (つ ノ .☆")
print("       (ノ")
# 读取用户输入的泳池三维尺寸(单位:英尺)
height = float(input("Enter the tank height (ft): "))
width = float(input("Enter the tank width (ft): "))
depth = float(input("Enter the tank depth (ft): "))

# 计算体积并换算为升
cubic_ft_volume = height * width * depth
total_water_liter = cubic_ft_volume * 28.3168

# 输出最终计算结果
print(f"该地下游泳池总注水量约为 {round(total_water_liter,2)} 升")
参考运行效果

程序运行参考截图

修改点说明
  • 移除所有给print的错误赋值,恢复print的打印功能,欢迎装饰内容直接用print输出,不需要嵌套在input里
  • 替换错误的体积换算公式,使用立方英尺转升的标准换算系数
  • 删除无意义的孤立exec代码
  • 调整交互逻辑,和提示的回车操作匹配,避免多余的输入等待
  • 增加结果格式化输出,直接展示带单位的清晰计算结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 02:06:36