25.10. Cho trước xâu kí tự S và xâu substr. Dùng các lệnh nào để biết được vị trí xuất hiện cuối...
Câu hỏi:
25.10. Cho trước xâu kí tự S và xâu substr. Dùng các lệnh nào để biết được vị trí xuất hiện cuối cùng của xâu substr trong xâu S? Ví dụ nếu S = "123321243212", Substr = "12" thì vị trí xuất hiện lần cuối của "12" trong xâu S sẽ là 10. Nếu không thấy sẽ trả về -1.
Câu trả lời:
Người trả lời: GV. Đỗ Văn Ánh
Để tìm vị trí xuất hiện cuối cùng của xâu substr trong xâu S, chúng ta có thể sử dụng một số phương pháp sau:
Cách 1: Sử dụng vòng lặp để duyệt qua từng vị trí của xâu S, sau đó sử dụng phương thức find() để tìm vị trí xuất hiện của xâu substr. Lưu ý rằng ta cần duyệt từ phần tử thứ (n - m) đến phần tử thứ n - 1, với n là độ dài của xâu S và m là độ dài của xâu substr. Nếu tìm thấy, ta lưu lại vị trí đó và sau khi kết thúc vòng lặp, in ra vị trí cuối cùng tìm được.
Cách 2: Sử dụng phương thức rfind() để tìm vị trí xuất hiện cuối cùng của xâu substr trong xâu S.
Dưới đây là mã chương trình Python thực hiện công việc trên:
```python
S = "123321243212"
substr = "12"
n = len(S)
m = len(substr)
k = -1
for i in range(n - m):
if S.find(substr, i) >= 0:
k = S.find(substr, i)
print(k)
```
Kết quả in ra sẽ là:
```
10
```
Cách 1: Sử dụng vòng lặp để duyệt qua từng vị trí của xâu S, sau đó sử dụng phương thức find() để tìm vị trí xuất hiện của xâu substr. Lưu ý rằng ta cần duyệt từ phần tử thứ (n - m) đến phần tử thứ n - 1, với n là độ dài của xâu S và m là độ dài của xâu substr. Nếu tìm thấy, ta lưu lại vị trí đó và sau khi kết thúc vòng lặp, in ra vị trí cuối cùng tìm được.
Cách 2: Sử dụng phương thức rfind() để tìm vị trí xuất hiện cuối cùng của xâu substr trong xâu S.
Dưới đây là mã chương trình Python thực hiện công việc trên:
```python
S = "123321243212"
substr = "12"
n = len(S)
m = len(substr)
k = -1
for i in range(n - m):
if S.find(substr, i) >= 0:
k = S.find(substr, i)
print(k)
```
Kết quả in ra sẽ là:
```
10
```
Câu hỏi liên quan:
- 25.1. Biểu thức sau trả lại giá trị gì?"" in "0123"A. True. ...
- 25.2. Lệnh sau trả lại giá trị gì?"abcde".find("")A. -1. ...
- 25.3. Lệnh sau trả lại giá trị gì?"0123456789".find("012abc")A. -1. ...
- 25.4. Lệnh sau trả lại giá trị gì?len(" Hà Nội Việt Nam ".split())A. 0. ...
- 25.5. Lệnh sau trả lại giá trị gì?"Trường Sơn".find("Sơn",4)A. 5. ...
- 25.6. Lệnh sau trả lại giá trị gì?“Trường Sơn”.find("Sơn",8)A. 5. ...
- 25.7. Cho trước xâu kí tự S, viết đoạn chương trình xoá đi các dấu cách thừa trong xâu S. Dấu cách...
- 25.8. Viết chương trình nhập một xâu là họ tên đầy đủ (gồm họ, đệm, tên) từ bàn phím, sau đó in ra...
- 25.9. Cho trước xâu kí tự S và xâu subs. Dùng các lệnh nào để biết được vị trí xuất hiện đầu tiên...
- 25.11. Viết chương trình nhập n số nguyên từ bàn phím, các số cách nhau bởi dấu cách, sau đó in ra...
- 25.12. Cho trước xâu kí tự S và xâu substr. Viết đoạn chương trình tính số lần lặp của xâu con...
Bình luận (0)