視覺化所有隨機走動
all_walks 是一個巢狀串列:每個子串列代表一次隨機走動。把這個串列的串列轉成 NumPy 陣列後,你就能開始畫出有意思的圖!matplotlib.pyplot 已以 plt 匯入。
巢狀的 for 迴圈已經幫你寫好——不用擔心它。現在先把重點放在這個 for 迴圈之後的程式碼。
本練習屬於課程
Python 中級
練習說明
- 使用
np.array()將all_walks轉成 NumPy 陣列np_aw。 - 嘗試對
np_aw使用plt.plot(),並加上plt.show()。它能直接畫出你要的圖嗎? - 呼叫
np.transpose()對np_aw做轉置,得到np_aw_t。現在np_aw_t的每一列,都代表 5 次隨機走動在擲 1 次後的位置。 - 使用
plt.plot()繪製np_aw_t,並加上plt.show()。這次看起來是否更好?
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# numpy and matplotlib imported, seed set.
# initialize and populate all_walks
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)
random_walk.append(step)
all_walks.append(random_walk)
# Convert all_walks to NumPy array: np_aw
# Plot np_aw and show
# Clear the figure
plt.clf()
# Transpose np_aw: np_aw_t
# Plot np_aw_t and show