全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1003 4
2018-06-09
a = [100]
def func(x):
        a=a.append(x)
        return a

func(1)
为何在IDLE里输入这段代码程序出错:
Traceback (most recent call last):
  File "C:/python_work/例10-99乘法表(双循环).py", line 6, in <module>
    func(1)
  File "C:/python_work/例10-99乘法表(双循环).py", line 3, in func
    a=a.append(x)
UnboundLocalError: local variable 'a' referenced before assignment


但是我在工作平台输入逐步输入如下代码就没问题:
a=[100]
a=a.append(1)
a
结果为[100,1]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-6-9 16:51:18
改成这个试试?
def func(a,x):
        a=a.append(x)
        return a
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-9 16:55:52
不二不幸福 发表于 2018-6-9 16:51
改成这个试试?
def func(a,x):
        a=a.append(x)
我傻逼了,list中append方法会自动赋值给a,没必要a=a.append()这种,直接a.append()就行,哈哈。我估计你的那个也还是出现一样的问题,还好解决问题了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-14 14:19:30

def func(x):
        a.append(x)
        return a
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-23 16:35:00
这样写代码是相当不规范的
在函数内部最好不要去操作外部定义的变量,否则代码很容易出问题.
这样写比较好
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群