鱼C论坛

 找回密码
 立即注册
查看: 1907|回复: 8

[已解决]python新手求助

[复制链接]
发表于 2021-4-20 15:23:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
要给出1000个1到100之间的随机数,并统计每个数出现的次数
为什么我这样写代码不行呢:
from random import randint
x = [randint(0,100) for i in range(1000)]
hi = {}
while len(hi) < len(x):
    for v in x:
        kao[v] = x.count(v)
else:
    print(hi)
这样一运行就停不下来了,正确的应该是什么呢,拜托各位大佬了QAQ
最佳答案
2021-4-20 16:07:54
柿子饼同学 发表于 2021-4-20 15:54
我看不懂,是不是没救了

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

  1. from random import randint
  2. x = [randint(0,10) for i in range(20)]
  3. y=list(set(x))
  4. kao={}
  5. for v in y:
  6.      kao[v] = x.count(v)
  7. for x in kao:print(x,kao[x],sep="的个数是")

  8. '''
  9. PS D:\wp\wp> py test2.py
  10. 0的个数是4
  11. 3的个数是3
  12. 6的个数是1
  13. 7的个数是3
  14. 8的个数是2
  15. 9的个数是6
  16. 10的个数是1
  17. PS D:\wp\wp>
  18. '''
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-4-20 15:45:36 | 显示全部楼层
本帖最后由 柿子饼同学 于 2021-4-20 15:57 编辑

你这不全吧
这样是不是简单一点
  1. import random as r
  2. l = []
  3. ll = []
  4. for i in range(1000):
  5.      l.append(r.randint(0, 100))
  6. for j in range(100):
  7.      ll.append(l.count(j))
复制代码

循环要么设置退出条件,要么用for
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-20 15:46:08 | 显示全部楼层
  1. from random import randint
  2. x = [randint(0,100) for i in range(1000)]
  3. hi = {}
  4. y=list(set(x))
  5. kao={}
  6. for v in y:
  7.      kao[v] = x.count(v)
  8. print(kao)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-20 15:46:41 | 显示全部楼层
你那都死循环,能停下来才怪
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-20 15:48:48 | 显示全部楼层
自己对比一下吧

  1. from random import randint
  2. x = [randint(1,100) for i in range(1000)]
  3. hi = {}
  4. for v in range(1,101):
  5.     hi[v] = x.count(v)

  6. print(hi)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-20 15:50:33 | 显示全部楼层
  1. import random as r
  2. l = []
  3. for i in range(1000):
  4.      l.append(r.randint(0, 100))
  5. for j in range(100):
  6.      print('列表里的', j,'有', l.count(j), '个', sep = '')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-20 15:54:02 | 显示全部楼层

我看不懂,是不是没救了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-20 16:07:54 | 显示全部楼层    本楼为最佳答案   
柿子饼同学 发表于 2021-4-20 15:54
我看不懂,是不是没救了

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

  1. from random import randint
  2. x = [randint(0,10) for i in range(20)]
  3. y=list(set(x))
  4. kao={}
  5. for v in y:
  6.      kao[v] = x.count(v)
  7. for x in kao:print(x,kao[x],sep="的个数是")

  8. '''
  9. PS D:\wp\wp> py test2.py
  10. 0的个数是4
  11. 3的个数是3
  12. 6的个数是1
  13. 7的个数是3
  14. 8的个数是2
  15. 9的个数是6
  16. 10的个数是1
  17. PS D:\wp\wp>
  18. '''
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-20 17:29:58 | 显示全部楼层
谢谢各位了谢谢大家回答我这个傻问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 16:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表