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

调试Python分钟转小时代码中的NameError问题

问题分析与修复方案

嘿,我来帮你搞定这个NameError问题!

错误根源

你碰到的问题完全是变量作用域在搞鬼:

  • 你在minutes_to_hours函数里定义的hours是个局部变量——简单说就是,这个变量只活在函数内部,函数执行完它就消失了,外面的代码(比如最后那行print(hours))根本看不到它。
  • 虽然你调用了minutes_to_hours(minutes),但你没把函数返回的结果存下来,等于白调用了,外部还是拿不到转换后的小时数。

两种靠谱的修复方法

方法1:把函数返回值存进变量再打印

修改最后两行,把函数返回的结果赋值给一个变量(名字可以叫hours,也可以随便取),然后打印这个变量:

def minutes_to_hours(minutes):
    hours = minutes / 60.0
    return hours

minutes = int(input("Enter minutes \n"))
# 把函数返回的结果存到变量里
hours = minutes_to_hours(minutes)
print(hours)

现在输入120,就会输出2.0,完全符合预期。

方法2:直接打印函数的返回值

如果之后不需要用到这个小时数,也可以省掉中间变量,直接打印函数调用的结果:

def minutes_to_hours(minutes):
    hours = minutes / 60.0
    return hours

minutes = int(input("Enter minutes \n"))
# 直接打印函数返回的结果
print(minutes_to_hours(minutes))

额外小优化(可选)

要是想让输出更友好,比如显示成“XX分钟等于XX小时”,可以把打印语句改成这样:

print(f"{minutes} minutes equals {minutes_to_hours(minutes)} hours")

输入120的话,就会输出120 minutes equals 2.0 hours,可读性拉满~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:03:30