ต่ำสุดแค่ไหน?
ดีมาก! ตอนนี้มีโค้ดที่คำนวณตำแหน่งใน 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)