你这写的。。。

最起码可以明显看出错了两处,第一:你每次迭代的时候把Line2: jieguo给清空了,后面做的再多都是无用功;第二,else:里面的return,list.extend加入的只能是列表,你却把【bindg(shang)】加进去了,这是个列表吗?这是个函数!
好人做到底,修改好了的代码给你,你拿去研究下把:
jieguo = []
def bindg(temp):
"""通过用递归来实现求一个十进制数转二进制数"""
shang = temp // 2
yu = temp % 2
if shang == 0 and yu==1:#如果能整出,则输出1
jieguo.append(1)
#return jieguo 此时输出的jieguo 是个反着的二进制,下面做的就是将其“正过来”
i=0
while i+1<len(jieguo):
jieguo.append(jieguo[0])
jieguo.pop(0)
i+=1
return jieguo
elif shang==0 and yu==0:#以0求二进制时:
return [yu]
else:
jieguo.append(yu)
return bindg(shang)
print(bindg(5210))