该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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才不会出错,请问是为什么呢?这两个程序并没有共同的变量啊,而且这个报错的原因是什么