这可能是一个非常简单的问题,但我似乎无法理解如何回答它,此外,作为一名Python程序员,我非常新鲜。希望有人能指点一下
问题如下:我有一个由n+1项组成的数组,实验从索引0开始。概率为.5时,我可以按n+1的模向右或向左移动。如果他最后被选中,则索引获胜。总的来说,我有很多实验
我的代码:
#!/usr/bin/python3
import random
import matplotlib.pyplot as plt
def simulate_game( n, m ):
bin = [0] * (n + 1)
results = [0] * (n + 1)
while m != 0:
current = 0
for i in bin:
bin[i] = False
while (all(bin) == 0):
bin[current] = 1
randnum = random.randint(0, 1)
if randnum == 1:
current += 1
if current > 0:
current = (current % (n+1))
elif randnum == 0:
current -= 1
if current < 0:
current = (current % (n+1))
results[current] += 1
m -= 1
for x in results:
print(x)
return results
# Do not change anything below this line!
def main():
L = simulate_game( 2, 10 )
plt.plot( L, 'bo', L,'k' )
plt.axis( [0,2,0.5*min(L[1:]),1.5*max(L)] )
plt.xlabel('Players')
plt.ylabel('Wins')
plt.grid(True)
plt.show()
if __name__ == "__main__":
main()
在以下情况下,我收到的n=5和m=100的输出是不现实的: 44 0 55 1. 0 0
我一直在尝试调试,但代码中没有出现问题,如果能给我一个正确方向的提示,我将不胜感激,因为我慢慢变得越来越沮丧
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐