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

Python计算立方英里巧克力冰淇淋卡路里时出现MemoryError原因咨询

解决计算立方英里巧克力冰淇淋卡路里时的MemoryError问题

嘿,刚看到你的问题,这个错误其实是个很容易踩的Python语法小坑!让我帮你拆解一下:

错误原因

你写的这行代码:

calories = 48,600

在Python里,逗号会把这个值变成一个元组(相当于calories = (48, 600)),而不是你想要的整数48600。当你执行cubicmile*calories时,Python会把这个大整数和元组相乘——这意味着它会生成一个包含cubicmile个(48,600)的重复元组,而5280³是一个超过1470亿的数字,这么大的元组直接会耗尽你的内存,所以抛出了MemoryError。

公式写法的问题

你的核心计算逻辑是对的:先算出1立方英里等于多少立方英尺,再乘以每立方英尺的卡路里数。但变量定义时的逗号是致命错误,除此之外,还有几个小细节可以优化:

  • Python变量名推荐用小写加下划线的规范(比如one_mile代替Onemile),提升可读性
  • 变量名最好明确含义(比如calories_per_cubic_foot比calories更清晰)

修正后的代码

one_mile = 5280
cubic_mile = one_mile ** 3
calories_per_cubic_foot = 48600  # 去掉逗号用纯整数;也可以写48_600,Python支持下划线做千位分隔符
total_calories = cubic_mile * calories_per_cubic_foot
print("Number of calories per cubic mile:", total_calories)

运行这段代码就能得到正确结果啦,不会再出现内存错误~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:05:35