擅长:python、mysql、java
<p>您所描述的是一个<a href="https://en.wikipedia.org/wiki/Triangular_distribution" rel="nofollow noreferrer">triangular distribution</a>,其模式(最常出现的值)等于min。这些是作为<a href="https://docs.python.org/3/library/random.html#real-valued-distributions" rel="nofollow noreferrer">random</a>模块或<a href="https://numpy.org/doc/stable/reference/random/generated/numpy.random.triangular.html" rel="nofollow noreferrer">numpy</a>中的连续分布内置的。如果希望整数结果从1到100(包括1到100),请使用<code>min = mode = 0</code>和<code>max = 100</code>生成,发言,并将1添加到结果中</p>
<p>以下代码在我的笔记本电脑上半秒钟内生成并绘制了一百万个三角形值:</p>
<pre class="lang-python prettyprint-override"><code>from numpy.random import default_rng
import matplotlib.pyplot as plt
rng = default_rng()
data = rng.triangular(0, 0, 100, size = 1000000).astype(int) + 1
h = plt.hist(data, bins=100, density=True)
plt.show()
</code></pre>
<p>样本输出:
<a href="https://i.stack.imgur.com/jHhs2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jHhs2.png" alt="Histogram of triangular values"/></a></p>