我目前正在尝试随机掷骰子,并为random_walk设置如下情况。
- 当骰子的数目小于或等于2时,您可以比该数目少走一步。
- 当骰子的数目小于或等于5时,那么你可以比这个数目更进一步。
- 否则,那么你可以去6步+阿尔法(再次掷骰子,把值加起来是6)
当我运行代码时,结果如下所示:
[0、3、4、5、4、5、6、7、6、5、4、3、...]
但我还是不明白为什么结果是3。
例如,如果我掷骰子得到数字2,那么我的可用步数应该是1;如果我掷骰子得到数字3,那么我的可用步数应该是4。
我没看到有三个人的房间,你能告诉我它是从哪里来的吗?
下面是我的代码:
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
# Replace below: use max to make sure step can't go below 0
step = max(0, step - 1)
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
random_walk.append(step)
print(random_walk)
1条答案
按热度按时间kiz8lqtg1#
您当前的逻辑是在上一步中加上/减去1,因此上一步为2时得到3。看起来应该如此
顺便说一下,你的问题是不相关的Pandas或 Dataframe ,所以你应该删除这些标签。