這是我第一天學習python。我正在嘗試製作用戶功能。函數傳入一個名爲b的數組。當我編寫代碼而不傳遞數組時,它可以工作。用戶函數和數組
b = [5, 32, 19, 84, 3, 3]
if len(a) == 5:
a4 = a[4]
else: a4 = 0
b3 = a[3]
b2 = a[2]
b1 = a[1]
b0 = a[0]
#Calculation with b0 b1 b2...
但是,當我試圖做一個功能它沒有。
def PassFunction(b):
if len(a) == 5:
a4 = a[4]
else: a4 = 0
b3 = a[3]
b2 = a[2]
b1 = a[1]
b0 = a[0]
#Calculation with b0 b1 b2...
,我在使用這個函數的主要功能是:
def main():
b = [1,2,3,4]
number = PassFunction(b)
print(number)
我得到的錯誤是:
b3 = a[3]
NameError: name 'a' is not defined
更改B3至A3產生了同樣的錯誤:
a3 = a[3]
NameError: name 'a' is not defined
添加返回聲明到PassFunction的結尾修復了錯誤。
我知道必須有一個簡單的解決方案,但我找不到它。如果您有任何建議,請讓我知道。
謝謝你的幫助!
_exactly_不起作用?你有錯誤信息嗎?如果是這樣,請將其粘貼到您的帖子中。第一個例子中的「a」是什麼?它是如何定義的? – DyZ
什麼是'a'在這裏? – Antimony
你創建了這個函數,但是沒有你真的在哪裏使用*或者調用這個函數。也許你需要將函數調用爲函數本身的'PassFunction(b)* * outside *。 – davedwards