我是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
答案 0 :(得分:1)
hours变量仅在minutes_to_hours函数中可用 做
hours = minutes_to_hours(minutes)
这将在全局范围内重新创建小时变量
答案 1 :(得分:0)
“小时”未定义,因为您没有声明/设置“小时”变量!
这就是为什么您收到NameError的原因,因为您没有设置小时数,并且没有设置minutes_to_hours
如果要在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)