楼主: 一亿两白银
1002 4

[问答] 程序求助 [推广有奖]

  • 8关注
  • 0粉丝

已卖:384份资源

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
72 个
通用积分
0.0605
学术水平
8 点
热心指数
8 点
信用等级
7 点
经验
3227 点
帖子
219
精华
0
在线时间
197 小时
注册时间
2012-12-10
最后登录
2020-4-16

楼主
一亿两白银 学生认证  发表于 2018-6-9 16:27:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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()就行,哈哈。我估计你的那个也还是出现一样的问题,还好解决问题了

板凳
startyxf 在职认证  发表于 2018-6-14 14:19:30

def func(x):
        a.append(x)
        return a

报纸
杨Yuer参上 发表于 2018-6-23 16:35:00
这样写代码是相当不规范的
在函数内部最好不要去操作外部定义的变量,否则代码很容易出问题.
这样写比较好
  1. a = [100]
  2. def func(x,list1):
  3.         list1.append(x)
  4.         return list1

  5. func(1,a)
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 16:30