เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เพิ่มความซุ่มซ่าม

ด้วยโค้ดที่เขียนไว้อย่างเป็นระเบียบนี้ การเปลี่ยนจำนวนครั้งที่จะจำลอง random walk ทำได้ง่ายมาก เพียงแค่อัปเดตฟังก์ชัน range() ใน for loop ระดับบนสุดเท่านั้น

แต่ยังมีอีกสิ่งหนึ่งที่เราลืมไป! สมมติว่าคุณค่อนข้างซุ่มซ่าม และมีโอกาส 0.5% ที่จะสะดุดล้ม ดังนั้นจึงต้องสุ่มตัวเลขเพิ่มอีกครั้ง โดยสุ่มค่า float ระหว่าง 0 ถึง 1 ถ้าค่าที่ได้น้อยกว่าหรือเท่ากับ 0.005 ให้รีเซ็ต step กลับเป็น 0

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python ระดับกลาง

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เปลี่ยนฟังก์ชัน range() เพื่อให้รันการจำลองทั้งหมด 20 ครั้ง
  • เติมเงื่อนไข if ให้ครบ โดยกำหนดให้ step เป็น 0 เมื่อค่า float ที่สุ่มได้น้อยกว่าหรือเท่ากับ 0.005 ใช้ 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()
แก้ไขและรันโค้ด