该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1.Py

def sum(n,p=2):

result=[i**p for i in range(1,n+1)]

print(result)

s=0

for w in result:

s=s+w

print(s)

return(n,p,s)

print('1到%d的%d次方为%d:'%sum(2))

print('1到%d的%d次方为%d:'%sum(2,3))

2.Py

def square_sum(q, s = 2):

result1 = sum([i ** s for i in range(1,q+1)])

return(q,s,result1)

print('1到%d的%d次方和为%d!' %square_sum(200))

print('1到%d的%d次方和为%d!' %square_sum(200,3))

报错原因:先运行了1.py,然后运行2.py,会出现以下报错

runfile('D:/第三章/untitled0.py', wdir='D:/第三章')

Traceback (most recent call last):

File "", line 1, in

runfile('D:/第三章/untitled0.py', wdir='D:/第三章')

File "D:\anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile

execfile(filename, namespace)

File "D:\anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile

exec(compile(f.read(), filename, 'exec'), namespace)

File "D:/第三章/untitled0.py", line 11, in

print('1到%d的%d次方和为%d!' %square_sum(200))

File "D:/第三章/untitled0.py", line 8, in square_sum

result1 = sum([i ** s for i in range(1,q+1)])

File "D:/第三章/自定义函数2.py", line 9, in sum

result=[i**p for i in range(1,n+1)]

TypeError: can only concatenate list (not "int") to list

然后要%reset删除所有变量,再运行2.py才不会出错,请问是为什么呢?这两个程序并没有共同的变量啊,而且这个报错的原因是什么