Giải quyết bài toán Secret Sentence
Bây giờ chúng ta biết làm cách nào sử dụng một while loop để lặp qua một string.
Cho bài toán Secret Sentence, chúng ta cần làm thứ gì đó khác phụ thuộc vào liệu chúng
ta có nhìn vào một nguyên âm hay một phi nguyên âm. Nếu chúng ta nhìn vào một nguyên
âm, thì chúng ta cần copy kí tự và nhảy tới theo 3 kí tự (để nhảy qua p và xảy ra thứ
hai của nguyên âm này). Nếu chúng ta nhìn vào một phi nguyên âm, thì chúng ta cần copy
kí tự và di chuyển tới kí tự tiếp theo. Nên, chúng ta luôn copy kí tự hiện tại nhưng sau
đó di chuyển theo 3 hay 1 dựa trên liệu kí tự hiện tại có là một nguyên âm. Chúng ta có
thể sử dụng một phát biểu if bên trong while loop để ra quyết định này cho mỗi kí tự cái
chúng ta thấy.
Một giải pháp cho bài toán Secret Sentence ở phần dưới:
1 result = ”
i = 0
2 while i < len(sentence):result = result + sentence[i]
3 if sentence[i] in ‘aeiou’:i = i + 3
else:
i = i + 1
print(result)
Biến result 1 được sử dụng để xây dựng sentence gốc, một kí tự một lúc.
Biểu thức Boolean của while loop là một cái tiêu chuẩn cho lặp qua cho đến khi chúng ta đi đến
cuối kí tự 2. Trong loop đó, chúng ta trước tiên kết nối kí tự hiện tại vào cuối result. Sau đó
chúng ta kiểm tra liệu kí tự hiện tại có là một nguyên âm 3. Nhớ lại từ “Relational Operators” trong
Chapter 2 cái toán tử in có thể được sử dụng để kiểm tra xem liệu kí tự đầu tiên xảy ra trong cái
thứ hai. Nếu kí tự hiện tại được tìm thấy trong chuỗi các nguyên âm, chúng ta nhảy lên theo 3 kí tự,
nếu không, chúng ta di chuyển tới kí tự tiếp theo.
Một khi loop chấm dứt, chúng ta đi qua toàn bộ sentence được mã hoá và copy các kí tự đúng vào result.
Thứ cuối cùng để làm vì vậy là cho ra biến này.