为什么输出最后的数字会重复啊,是我哪里写错了吗

每次我输入数字的时候,输出的数字最后一个都会把负数到正数的过度数字重复出现

假如我输入:-10 -5 1 6 8 0
正确的输出:1 25 36 64 100

但是这里的输出变成了:1 25 36 64 100 25
为什么那个25会重复出现啊
该如何修改啊

img

问题出在34行
33行循环退出后,m = -1,a[m:]为a中最后一个元素,导致元素重复出现

1.你不就是要计算每个数的平方,然后排序吗,那为什么不一开始就直接都append进a里面,为什么要分ab,后面又弄个c,不嫌麻烦吗
2.len(c)就是c的长度,不要再刻意维护一个h让它加来减去的,反而容易出bug
3.排序直接用sort排就可以了,不要自己写那么复杂的代码
总之,一个简单的功能,被你弄那么复杂,出什么bug都不奇怪