2015-07-10 18 views
0

我尝试使用Python运行以下脚本:怎么办时,Python的给你这个错误信息:“NameError:名字‘鸿沟’没有定义”

age = add (30, 5) 
height = subtract (78,4) 
weight = multiply(90, 2) 
iq = divide(100, 2) 

而且我得到了一个错误信息:

文件 “ex21.py”,第22行,在 IQ =除法(100,2) NameError:名称 '分化' 是没有定义

我完全失去了作为 '分化' 是一个标准的数学Python可以识别的函数,但它不会在我的电脑上。当我只搜寻错误讯息时,大部分搜寻结果都是非英文语言。我想知道是否有语言正在发生。

您的帮助非常感谢!


修订:

我忘了我定义的 '鸿沟' 早在脚本中。卫生署!感谢你的帮助。我曾经如此慢慢地学习。非常感谢!!

def divide(a,b): 
    return a/b 

回答

4

数学函数可以从它们的运算符访问,而不是内置函数。相反,尝试:

age = 30+5 
height = 78-4 
weight = 90*2 
iq = 100/2 

或者,您也可以定义自己的职能:

def add(*nums): 
    return sum(nums) 

def subtract(num1, num2): 
    return num1-num2 

def multiply(*nums): 
    val = 1 
    for i in nums: 
     val*=i 
    return val 

def divide(num1, num2): 
    return num1/num2 

然后按照预期的原始代码将工作。

+0

谢谢,我试过这个,它的工作原理! – Lily

+0

@ LilyYoon-KyoHan,很高兴能够帮助您,请介意点击绿色复选标记(15分钟后)接受此答案?谢谢! –

+0

您也可以导入这些运算符的函数版本('import operator') – NightShadeQueen

0

必须有您正在访问的函数,称为addsubtractmultiplydivide您已明确定义。否则,请使用蟒蛇运算符+, - ,*,/

+1

非常感谢!这现在有道理。 – Lily

0

您的代码是一个直接示例,取自Learn Python The Hard方式的Exercise 21

这里,笔者定义了自己的add()subtract()multiply()divide()功能如下,然后他使用的运营商。

def add(a, b): 
    print "ADDING %d + %d" % (a, b) 
    return a + b 

def subtract(a, b): 
    print "SUBTRACTING %d - %d" % (a, b) 
    return a - b 

def multiply(a, b): 
    print "MULTIPLYING %d * %d" % (a, b) 
    return a * b 

def divide(a, b): 
    print "DIVIDING %d/%d" % (a, b) 
    return a/b 

Python提供+-*/执行相应的操作。

要通过这些特定的函数名称执行所需的操作,您还必须在代码中定义以下函数。然后你可以直接使用它们。

age = add (30, 5) 
height = subtract (78,4) 
weight = multiply(90, 2) 
iq = divide(100, 2) 
+0

是的,我正在通过练习。定义时,我拼错了名字。我很困惑,我已经将'divide'定义为一个函数......并且认为它是python刚刚理解的东西。卫生署! *捂脸*。我慢慢地但肯定地在学习。谢谢!! – Lily

+0

您可以在代码中定义这些函数,然后直接调用这些函数。 –

相关问题