我正在从代码学院学习 python,并且正在努力完成他们的复习作业。 我应该定义一个函数,然后设置一个 if/else 循环来检查我得到的输入类型,然后返回 int/float 的绝对值或错误消息。
我试图查看类似的问题,但我不明白这些代码比我理解 O_O 复杂得多。我再次查看了功能模块类(class),但我认为我正确地遵循了功能制作模式?在我调用该函数之前是否应该有额外的一行?我试图继续前进,但后来我在其他练习中收到了同样的错误消息。
如果有任何回复,我将不胜感激:)
def distance_from_zero(thing):
thing = input
if type(thing) != int or float:
return "Not an integer or float!"
else:
return abs(thing)
distance_from_zero(thing)
最佳答案
您是否尝试使用输入函数从用户那里获取值? 如果是这样,您必须为其添加括号:
thing = input()
# If you're using python 2.X, you should use raw_input instead:
# thing = raw_input()
此外,如果您正在尝试这样做,则不需要输入参数。
如果您的意思是 input
是参数,那么您就是在尝试在定义变量之前使用变量。 distance_from_zero(thing)
无法工作,因为 thing
尚未在您的函数外定义,因此您应该首先定义该变量或使用乱码值调用它:
thing = 42
distance_from_zero(thing)
# or
distance_from_zero(42)
关于python - 调用函数时如何修复“未定义”的 "NameError: name ' 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17641782/