Ví dụ Python thực chiến, bài toán chỗ đậu xe (phần 2)

Một loại loop mới

Chúng ta có thể có lên tới 100 chỗ đậu xe, nên bạn có thể không ngạc nhiên rằng một
vòng lặp sẽ hoạt động ở đây. Loại for loop chúng ta đã học khi giải quyết bài toán ba
cái tách bây giờ có thể lặp qua một chuỗi kí tự của thông tin chỗ đậu xe:

>>> yesterday = ‘CC.’
>>> for parking_space in yesterday:

… print(‘The space is ‘ + parking_space)


The space is C
The space is C
The space is .

Cái đó thông báo cho chúng ta biết mỗi chỗ đậu xe có bị chiếm hôm qua. Nhưng chúng ta cũng
cần biết liệu mỗi chỗ cũng bị chiếm hôm nay.
Xem xét test case này:

3
CC.
.C.

Chỗ đậu xe đầu tiên bị chiếm ngày hôm qua. Liệu chỗ đó có bị chiếm trong cả 2 ngày? Để trả lời
cái đó , chúng ta cần nhìn vào kí tự tương ứng trong chuỗi kí tự ngày hôm nay. Nó là một dấu .
(trống), nên chỗ đậu xe này không bị chiếm trong cả hai ngày.
Thế còn về chỗ đậu xe thứ hai? Cái đó cũng bị chiếm trong ngày hôm qua. Và nhìn vào kí tự thứ hai
của chuỗi kí tự ngày hôm nay, nó cũng bị chiếm ngày hôm nay. Nên đây là chỗ đậu xe cái bị chiếm
cả hai ngày. (Đây là chỗ đậu xe duy nhất như vậy, đầu ra đúng cho test case này
là 1).
Lặp qua các kí tự của một chuỗi kí tự không giúp chúng ta tìm ra các kí tự tương ứng trong chuỗi
kí tự khác. Nhưng chúng ta có thể theo dấu nơi nào chúng ta đang ở trong chuỗi kí tự – chúng ta ở
chỗ đậu xe đầu tiên, chúng ta ở chỗ đậu xe thứ hai…vv.. – chúng ta có thể tìm kiếm kí tự tương
ứng từ mỗi chuỗi kí tự. For loop chúng ta vừa học không phải là cách làm cái này. Cách thức làm
cái này là sử dụng indexing (chỉ mục) và dạng mới của for loop.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *