python - 这段代码有什么问题?我收到一个名称错误

标签 python python-3.x

我是Python初学者。 这是我编写的一些代码,我无法确定它有什么问题。

它应该将分钟转换为小时

这是代码

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

minutes = int(input("Enter minutes \n"))

minutes_to_hours(minutes)
print(hours)

运行时,它要求输入分钟数。在传递 120 时,它应该给出 2,但这是我得到的错误

Enter minutes
120
Traceback (most recent call last):
  File "functions.py", line 11, in <module>
    print(hours)
NameError: name 'hours' is not defined

最佳答案

“hours”未定义,因为您没有声明/设置“hours”变量!

这就是您收到 NameError 的原因,因为您没有设置小时值和分钟到小时

如果您想在 def 语句中获取小时数,请使用

def minutes_to_hours(minutes):
    global hours
    hours = minutes/60.0
    #return is not setting a new variable, so this will return None

正确代码:

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

minutes = int(input("Enter minutes \n"))

hours = minutes_to_hours(minutes)
print(hours)

关于python - 这段代码有什么问题?我收到一个名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58153043/

相关文章:

python - VSCode 中的失控绝地语言任务

python - 为什么我的 lambda 函数在使用像 filter() 和 map() 这样的函数时不返回任何值?

python - 安装 pydns 时出错

python - speedtest-cli 在控制台中工作,但不能作为脚本使用

python - 在字符串数组中搜索部分字符串

Python (GTK) : Can someone explain the difference between TreeStore, Listmodel 和所有其他的?

python - python3.5中无法导入Kicad的Pcbnew

python - mkvtoolnix批量删除音轨

Python Mock - return_value - 获取 "real"返回值

python - Python 中 super() 和 super(className,self) 的区别