Trực quan hóa tất cả các bước đi
all_walks là một danh sách các danh sách: mỗi danh sách con biểu diễn một bước đi ngẫu nhiên. Nếu bạn chuyển cấu trúc này sang mảng NumPy, bạn có thể bắt đầu vẽ những biểu đồ thú vị! matplotlib.pyplot đã được nhập sẵn với bí danh plt.
Vòng lặp for lồng nhau đã được viết sẵn — bạn không cần lo. Hiện tại, hãy tập trung vào phần mã sau vòng lặp for này.
Bài tập này là một phần của khóa học
Python nâng cao
Hướng dẫn bài tập
- Dùng
np.array()để chuyểnall_walksthành một mảng NumPy, đặt tên lànp_aw. - Thử dùng
plt.plot()vớinp_aw. Đồng thời gọiplt.show(). Nó có hoạt động ngay không? - Chuyển vị
np_awbằng cách gọinp.transpose()trênnp_aw. Đặt kết quả lànp_aw_t. Lúc này, mỗi hàng trongnp_aw_tbiểu diễn vị trí sau 1 lần tung cho năm bước đi ngẫu nhiên. - Dùng
plt.plot()để vẽnp_aw_t; đồng thời gọiplt.show(). Lần này trông có ổn hơn không?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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