丶Cherry 发表于 2021-2-15 17:07:15

一个计算元素出现次数的问题

原题:编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数
已经知道可以用集合做了,但是搞不懂这种做法错在哪,求大佬帮忙{:10_266:} !!!

import random as r
a_list = []
for i in range(1000):
        x = r.randint(0,100)
        a_list.append(x)
        i += 1

while len(a_list) > 0:
        num = a_list.count(a_list[-0])
        print(a_list[-0],'出现的次数是:',num)
        for i in range(num):
                a_list.pop()
                i += 1

wp231957 发表于 2021-2-16 08:56:01

删除元素那里明显不对啊
另外-0这个索引是什么鬼

qq1151985918 发表于 2021-2-16 09:23:01

很简单,前后对比一下就好了import random as r
a_list = []
for i in range(1000):
      x = r.randint(0,100)
      a_list.append(x)
##      i += 1for 循环是不需要这个的
i = 0
while i <= 100:
      num = a_list.count(i)
      print(i,'出现的次数是:',num)
      i += 1
##      for i in range(num):
##                a_list.pop()
##                i += 1

丶Cherry 发表于 2021-2-16 16:30:46

wp231957 发表于 2021-2-16 08:56
删除元素那里明显不对啊
另外-0这个索引是什么鬼

知道了是-1{:10_284:}谢谢
(while上面还有一个a_list.sort()写漏了)

丶Cherry 发表于 2021-2-16 16:36:09

qq1151985918 发表于 2021-2-16 09:23
很简单,前后对比一下就好了

懂了懂了,这样也不错,谢谢{:10_257:}
页: [1]
查看完整版本: 一个计算元素出现次数的问题