python - 调用函数时如何修复“未定义”的 "NameError: name ' 问题?

标签 python function

我正在从代码学院学习 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/

相关文章:

c - 这个 C 语言的反向字符串函数写得不好吗?/如何使这段代码更好?

python - 如何从python中的fft信号中找到感兴趣频率的bin号?

c++ - std::ifstream,删除函数的使用

javascript - 中断 fadeTo 函数

javascript - 函数中提示返回未定义。 (范围问题)

javascript - 函数中的 if/else 语句 : using onclick as a switch

python - Django - 为 ModelForm 中的字段分配默认值

python - 如何在 Jinja 模板中调用 Python 函数并使用函数值返回的字典?

python - 无法使用 easy_install 安装 Python 模块

python - Django HttpRequest问题