这是我学习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
将return语句添加到PassFunction的末尾修复了错误
我知道一定有一个简单的解决办法,但我找不到。如果你有什么建议,请告诉我
谢谢你的帮助
函数中有
b
作为参数,但引用的是a
(在该范围内没有定义)。只需在函数体中使用
b
而不是a
。哦,我假设
main
函数有一些缩进错误,可能是粘贴了代码?main
是空的此错误意味着您在
a4 = a[4]
中分配变量a之前尚未声明变量a,因此必须在开始时将a声明为列表:我希望我能帮上忙
试试这个:
您使用了错误的参数名称。使用
a
代替b
相关问题 更多 >
编程相关推荐