2015-07-10 19 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

您可以在代碼中定義這些函數,然後直接調用這些函數。 –

相關問題