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

ต่ำสุดแค่ไหน?

ดีมาก! ตอนนี้มีโค้ดที่คำนวณตำแหน่งใน Empire State Building หลังจากทอยลูกเต๋า 100 ครั้งแล้ว แต่ยังมีอีกสิ่งหนึ่งที่ยังไม่ได้คำนึงถึง นั่นคือ ตำแหน่งไม่สามารถต่ำกว่า 0 ได้!

วิธีแก้ปัญหาแบบนี้ที่นิยมใช้กันคือการใช้ max() หากส่งอาร์กิวเมนต์ 2 ตัวให้ max() ฟังก์ชันจะคืนค่าตัวที่มากกว่า ตัวอย่างเช่น หากต้องการให้ตัวแปร x ไม่ต่ำกว่า 10 เมื่อลดค่าลง สามารถใช้:

x = max(10, x - 1)

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

Python ระดับกลาง

ดูคอร์ส

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

  • ใช้ max() ในลักษณะเดียวกันเพื่อให้แน่ใจว่า step ไม่ต่ำกว่าศูนย์เมื่อ dice <= 2
  • กด ส่งคำตอบ แล้วตรวจสอบเนื้อหาของ random_walk

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# NumPy is imported, seed is set

# Initialize random_walk
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 = step - 1
    elif dice <= 5:
        step = step + 1
    else:
        step = step + np.random.randint(1,7)

    random_walk.append(step)

print(random_walk)
แก้ไขและรันโค้ด