|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
×
不知道为什么,自己写出的随机数反而不均匀
- from random import *
- def erjin():#使用时返回0 or 1
- return randint(0,1)
- """
- random_list = []
- count = 0
- fl = -1
- max_ = 0
- for i in range(200):
- a=erjin()
- if(a!=fl):
- if(count>max_):
- max_=count
- fl = a
- count = 1
- else:
- count+=1
-
- random_list.append(a)
- w = 40
- h = 5
- for i in range(0,h):
- for j in range(0,w):
- print(random_list[i*w+j],end=' ')
- print("\n")
- print(f"最多连续{max_}枚硬币")
- """
- def test():
- random_list = []
- count = 0
- fl = -1
- max_ = 0
- for i in range(200):
- a=erjin()
- if(a!=fl):
- if(count>max_):
- max_=count
- fl = a
- count = 1
- else:
- count+=1
-
- random_list.append(a)
- w = 40
- h = 5
- """
- for i in range(0,h):
- for j in range(0,w):
- print(random_list[i*w+j],end=' ')
- print("\n")
- """
- """print(f"最多连续{max_}枚硬币")"""
- return max_
- u = 0
- r=50000
- for k in range(r):
- u+=test()
- print(f"平均{u/r}枚")
-
复制代码
它们总是有连在一起的情况
但是他们才是真随机
为什么呢?
因为真随机是不会记录上次的结果的
但是部分游戏会用算法处理过的随机
如《我的世界》中流浪商人在世界创建的24000tick后开始尝试生成流浪商人(玩家和加载村庄(因该是基岩版)周围)
此后每24000tick后尝试一次生成
初始尝试又2.5%概率生成
后来如果生成失败则概率加2.5%
最高7.5%
直到生成后恢复2.5%
流浪商人72000tick
后消失
这样的随机是不是更稳定一些了呢? |
|