下面程序的功能是:统计存放在数列a中的n个数有多少个是不同的。具体做法是:变量left指向要被处理的数(从第2个元素开始),right指向数列最后一个元素。若a[left]与排在它前面的某个数组元素值相同,就用数组元素a[right]的值来替换a[left]的值,同时将变量right的值减1;否则将变量left的值加1,处理数列下一个元素,重复以上过程,直到left>right为止。Right的值即为不同的数的个数。程序执行的结果参考如下: 请输入数据个数:10 [8, 8, 3, 9, 7, 8, 7, 2, 6, 3] 有6个不同的数:[8, 3, 6, 9, 7, 2] 请完善程序: import random def statistic(lis): right=_______________ left=1 while left<=right: flag=False for i in range(left): if a[left]==a[i]: flag=True break if flag==False: left_________ else: a[left]=a[right] right_____________ return right n = int(input("请输入数据个数:")) a=[] lis2=[] for i in range(n): k=random.randint(1,10) a+=[k] print(a) t=statistic(a) for i in range(t+1): lis2+=[___________] print("有{}个不同的数:{}".format(t+1,lis2))