[英]Python NameError - Name not defined
一個名為month_days
的 function 接收月份名稱和該月份的天數作為參數。 修改代碼的rest,使結果相同。 通過使用列出的兩個月份的正確參數進行 function 調用來確認您的結果。
def month_days(month, days):
month__name = str(month)
month__days = int(days)
print(month__name + "has" + month__days + "days" )
month_days(June,30)
給出以下錯誤
NameError: name 'June' is not defined
首先,讓我們嘗試了解什么是NameError
。 Python 中的NameError
通常是指執行或調用未找到或未實例化的 object。
在你的情況下month_days(June, 30)
,這個June
是什么? 它是一個已經定義的變量嗎?
我猜您是否嘗試將June
字符串作為輸入傳遞,如果是,請嘗試執行以下操作
month_days("June", 30) # works
month_days('June', 30) # also works
在 Python 通常,所有字符串輸入都用單引號或雙引號括起來。
您將 June 作為值傳遞給 function,因此,它應該是字符串,即帶有單引號/雙引號。 我在您的代碼中觀察到的另一個問題是您正在添加 integer (month_days) 和字符串。 因此,通過將輸入天數轉換為字符串 i/o integer 進行更正。 請找到下面的代碼。
def month_days(month, days):
month__name = str(month)
month__days = str(days)
print( month__name+" has " + month__days + " days" )
month_days('June',30)
這也可以工作:
def month_days(month, days):
print(month + " has " + str(days) + " days.")
month_days("June", 30)
month_days("July", 31)
只需幾個修復,您就真的很接近了。
在正文中的 print 語句中,您需要使用str()
function 確保在month__days
發生顯式轉換。
您將需要適當的空格和"."
在您的打印聲明的末尾。 這正是 coursera autograder 所期望的,所以它必須是精確的。
最后,正如其他人所提到的,您需要在June
和July
左右報價。
def month_days(month, days):
month__name = str(month)
month__days = int(days)
print(month__name + " has " + str(month__days) + " days." )
month_days('June', 30)
month_days('July', 31)
希望對您有所幫助::)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.