Bạn có thể xuống thấp đến mức nào?
Mọi thứ đang tiến triển rất ổn! Bạn đã có đoạn mã tính vị trí của mình trong tòa Empire State Building sau 100 lần tung xúc xắc. Tuy nhiên, có một điều chúng ta chưa tính đến — bạn không thể xuống dưới 0!
Một cách điển hình để giải những bài như thế này là dùng max(). Nếu bạn truyền vào max() hai đối số, giá trị lớn hơn sẽ được trả về. Ví dụ, để đảm bảo biến x không bao giờ xuống dưới 10 khi bạn giảm nó, bạn có thể dùng:
x = max(10, x - 1)
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
max()theo cách tương tự để đảm bảostepkhông xuống dưới 0 nếudice <= 2. - Nhấn "Gửi câu trả lời" và kiểm tra nội dung của
random_walk.
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 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)