提交中
📝正在回复 #58247
nbG0iZVG 2022-03-10 07:58:41
早上的突发奇想
岛上用roll的串还蛮多的
比如现在用一个roll 26348 (0~114514)
如果说我后面一个数非常大
那roll出来的结果一般都会很大
这是为什么呢?
[´゚Д゚`]
然后思考了一下
如果我roll的数的范围是0-9999
也就是一位数到四位数
那一位数只有10个
二位数却有100个
三位数有1000个
四位数就有10,000个
[´゚Д゚`]抽到的概率就是十倍十倍的关系
那roll到小数字的概率就非常低
于是....
nbG0iZVG Po 2022-03-10 08:00:25
为了验证po的想法
正好po学了python(上了三节课)
正好学到随机数
于是写了一段简单的代码[`・ω・]
nbG0iZVG Po 2022-03-10 08:00:45
这是代码

import random as rd
a = {'一位数':0,'二位数':0,'三位数':0,'四位数':0}
b = set()
for i in range(20):
while len(b)<10:
b.add(rd.randint(0,9999))
for j in b:
k = str(j)
if len(k) == 1:
a['一位数']+=1
elif len(k) == 2:
a['二位数']+=1

elif len(k) == 3:
a['三位数']+=1

elif len(k) == 4:
a['四位数']+=1
print(a)
b = set()#重置
F1fFaAWQ 2022-03-10 08:01:27
这数,是不是有点问题
nbG0iZVG Po 2022-03-10 08:03:16
>>Po.58250
为什么没有缩进!
将就看吧[ `д´]
po的想法是
从0-9999抽10个不同的数
然后统计他们是一位数/二位数...ETC的个数
但是
一位数的数量与四位数的数量天差地别
如果我一次抽的特别多
那一位数数量必然非常少
所以
这不公平![ ゚∀゚]
PO决定重置这个集合
然后再来一遍!
这样被抽到的一位数还有机会再被抽到!
(所以为什么不直接抽重复的)
nbG0iZVG Po 2022-03-10 08:05:06
然后
po运行了两次代码!
发现
一位数真的出奇的少![´゚Д゚`]
nbG0iZVG Po 2022-03-10 08:10:08
然后
运行了二十轮并统计
结果非常明显
nbG0iZVG Po 2022-03-10 08:12:32
我们sum一下
然后做一个图表
发现
抽到四位数的概率
非常高![*゚∇゚]
nbG0iZVG Po 2022-03-10 08:13:15
刚刚发现一个问题
二位数似乎是从10-99
所以是90个
po不会数数
但是不影响结果[`・ω・]
2Ghltxho 2022-03-10 08:13:54
从1开始数的话,n位数有9*10^(n-1)个[ ゚∀。],虽然结论是一样的,但还是想说一下|∀` ]
n887BDgx 2022-03-10 08:14:00
一位数10个,两位数是90个,三位数900个,四位数9000个
2Ghltxho 2022-03-10 08:16:33
而且重置这个集合然后再来一遍的话,
虽然被抽到的一位数还有机会再被抽到,但是被抽到的多位数也有机会再被抽到了|∀` ]
所以放回抽取和不放回抽取的比例是差不多的[ ´∀`]
ahR8v3gz 2022-03-10 08:19:46
Po先上课了
电脑和手机的饼干不一样
所以先摸了
有什么想法会再发的[*゚∇゚]
ahR8v3gz 2022-03-10 08:21:05
>>Po.58289
谢谢提醒|∀゚
虽然只是觉得好玩才做的
以前一直没想过为什么抽范围大的数能抽到很大的数
5584 (0~10000)
KaZus2eA 2022-03-10 08:58:31
用集合的话,抽到重复会少了的吧[´゚Д゚`]
python有个很方便的重复抽取函数choice,可以看下,挺好用的
import random
a = [0]*4
b = random.choices(range(0,9999),k=10000)
for i in b:
a[len(str(i))-1] += 1

for i in range(len(a)):
print("{}位数:{}".format(str(i+1),str(a[i])))
KaZus2eA 2022-03-10 09:01:16
果然被吞缩进了[╬゚д゚]
nbG0iZVG Po 2022-03-10 09:08:21
>>Po.58400
PO下课了!
因为上次的python课刚学的集合 现在用得不是很熟练
  • 1
是否立即朝美国发射核弹?
为 #654 送出表情
上下滚动,选择表情
👍 赞!
👎 这不好
😆 欢乐
🎉 烟花
😕 嗯...
💗 爱心
🐱 喵喵喵
🐭 鼠鼠我呀
🐔
🐷 猪头
🐶 我是狗?
冲刺!冲!
😱 吓死了
👀 就看看
🤡 小丑
🀄 太中咧!
🤣 笑哭
😅 这...
😫 痛苦面具
😭 我哭死
😋 我吃吃吃
🦪 牡蛎哟牡蛎
🈁 ko↓ko↑
🤔 嗯?
🤤 发癫
🥺 求你了
😡
耶!
🦸 你是英雄
🍾 开香槟咯
🌿
送出该表情需要消耗 20 积分