2017-07-07 85 views
-4
def target(heart): 

    age = input("Enter your age: ") 
    rest_heart = input("Enter your resting heart rate: ") 
    intensity = input("Enter your heart intensity: ") 
    max_heart = 220 - age 
    reserve = max_heart - rest_heart 
    return rest_heart + intensity * reserve 

print(target(heart)) 

錯誤消息:有人可以幫我指出我的錯誤嗎?

Traceback (most recent call last): 

    File "<string>", line 9, in <module> 

NameError: name 'heart' is not defined 

如果有人能指出錯誤,那將會是極大的讚賞

+0

你在哪裏使用傳遞給函數的'heart'?在'main'中你聲明變量'heart'? – PYA

+5

就像它說「心臟」沒有被定義。改爲使用「print(target(0))''。順便說一句,你的函數從不使用參數,所以如果你使用「target(0)」或「target(None)」或「target(」Hello World「)」 –

回答

5

你沒有宣佈在代碼中的變量heart

在這裏,heart in target(heart)是無用的,因爲您嘗試傳遞參數給一個不使用它的函數。

而且,你打電話給你的函數print(target(heart))但你沒有設置heart在此範圍內,如果你把你的代碼上述heart = 0(或任何東西),它可以工作,但該參數將是無用的。

2

只需回答你的問題並不會真正幫助你,因爲有一天你會需要知道如何處理你自己的錯誤..在這種情況下,我向你提供這個tutorial這將教你適當的python應用。

但是,您的腳本的問題是,您正嘗試調用您並未創建的變量heart

此外,像其他人指出的,通過heart作爲參數是沒用的,因爲你沒有在你的函數中使用它。

作爲結論,我建議您按照上面提供的指導。
希望這有點幫助。

相關問題