代码出错了怎么改啊?

img

img


我明明是想试试课本上的代码,深入理解,没想到出错了,不知道怎么改了

第4行改为 ls.append(a)

b是整数, 对列表 [a] 翻倍扩容
当b为0或负整数时,[a] * b 返回空列表[]

还有第一行的 ls=[] 与函数内的ls是局部变量与函数外的变量没有相关性,所以第7行打印的ls还是空列表

函数内想要用上第一行全局变量,把第三行改为: global ls
正确的代码:

ls = []
def func(a,b):
    global ls
    ls.append(a)
    return a*b

s=func('knock~',3)
print(s,ls)

输出结果:
knock~knock~knock~ ['knock~']

定义函数要加冒号的

def func(a, b):