擅长:python、mysql、java
<p>您也不会在for循环中执行sim功能。所以你实际上是把函数的结果传递给频率,而不是函数本身</p>
<p>所以你的意思是执行骰子滚动函数,得到它的结果并将其传递给频率。相反,您需要在不使用<code>()</code>的情况下将func传递给它,以便传递对func的引用而不是其结果</p>
<p>所以频率只是从掷骰子和n次中接收int值。所以它会将int n次附加到列表中</p>
<p>您需要将掷骰子功能而不是其结果传递给频率,并让频率功能为您执行n次</p>
<pre class="lang-py prettyprint-override"><code>import random
def diceRoll6():
return random.randint(1,6)
def frequencies(sim,n):
output = []
for i in range(n):
result = sim()
output.append(result)
return output
print(frequencies(diceRoll6, 10))
</code></pre>
<p>你也可以简单地将你的频率函数设置为</p>
<pre class="lang-py prettyprint-override"><code>def frequencies(sim,n):
return [sim() for _ in range(n)]
</code></pre>