实现"笨手笨脚"效果
您的代码结构很清晰,要更改随机游走模拟的次数非常容易。只需更新顶层 for 循环中的 range() 函数即可。
还有一件事我们之前忘了!您有点笨手笨脚,摔倒的概率是 0.5%。这就需要再生成一个随机数。基本思路是,生成一个介于 0 和 1 之间的随机浮点数。如果该值小于或等于 0.005,就应将 step 重置为 0。
本练习是课程的一部分
Python 中级
练习说明
- 修改
range()函数,使模拟运行 20 次。 - 完成
if条件:当随机浮点数小于或等于 0.005 时,将step设为 0。使用np.random.rand()。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# numpy and matplotlib imported, seed set
# clear the plot so it doesn't get cluttered if you run this many times
plt.clf()
# Simulate random walk 20 times
all_walks = []
for i in range(5) :
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
step = max(0, step - 1)
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
# Implement clumsiness
if ___ :
step = 0
random_walk.append(step)
all_walks.append(random_walk)
# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))
plt.plot(np_aw_t)
plt.show()