Forever67037 发表于 2021-4-20 15:23:31

python新手求助

要给出1000个1到100之间的随机数,并统计每个数出现的次数
为什么我这样写代码不行呢:
from random import randint
x =
hi = {}
while len(hi) < len(x):
    for v in x:
      kao = x.count(v)
else:
    print(hi)
这样一运行就停不下来了,正确的应该是什么呢,拜托各位大佬了QAQ

柿子饼同学 发表于 2021-4-20 15:45:36

本帖最后由 柿子饼同学 于 2021-4-20 15:57 编辑

你这不全吧
这样是不是简单一点import random as r
l = []
ll = []
for i in range(1000):
   l.append(r.randint(0, 100))
for j in range(100):
   ll.append(l.count(j))
循环要么设置退出条件,要么用for{:9_237:}

wp231957 发表于 2021-4-20 15:46:08

from random import randint
x =
hi = {}
y=list(set(x))
kao={}
for v in y:
   kao = x.count(v)
print(kao)

wp231957 发表于 2021-4-20 15:46:41

你那都死循环,能停下来才怪

qq1151985918 发表于 2021-4-20 15:48:48

自己对比一下吧

from random import randint
x =
hi = {}
for v in range(1,101):
    hi = x.count(v)

print(hi)

柿子饼同学 发表于 2021-4-20 15:50:33

import random as r
l = []
for i in range(1000):
   l.append(r.randint(0, 100))
for j in range(100):
   print('列表里的', j,'有', l.count(j), '个', sep = '')

柿子饼同学 发表于 2021-4-20 15:54:02

wp231957 发表于 2021-4-20 15:46


我看不懂,是不是没救了{:10_266:}

wp231957 发表于 2021-4-20 16:07:54

柿子饼同学 发表于 2021-4-20 15:54
我看不懂,是不是没救了

这就是字典的应用啊哪里不懂呢   下面弄个数据少的案例

from random import randint
x =
y=list(set(x))
kao={}
for v in y:
   kao = x.count(v)
for x in kao:print(x,kao,sep="的个数是")

'''
PS D:\wp\wp> py test2.py
0的个数是4
3的个数是3
6的个数是1
7的个数是3
8的个数是2
9的个数是6
10的个数是1
PS D:\wp\wp>
'''

Forever67037 发表于 2021-4-20 17:29:58

谢谢各位了{:5_108:}谢谢大家回答我这个傻问题{:5_109:}
页: [1]
查看完整版本: python新手求助