Trợ giúp vấn đề python

e có 1 đoạn code

a = "quan tri mang cham com"
for i in range(len(a)):
 if a[i] == "a":
  print(i)

kết quả xuất là vị trí của a xuất hiện là 2,10,16
nhưng e nghĩ mãi không ra cách chỉ trả kết xuất hiện “a” lần 3 thôi ạ, tức là chỉ trả kết quả “a” ở vị trí 16 thôi ạ,
chứ như trên thì trả cả 3 lần rồi

Mình code bình thường mà. Bạn xem lại đã đúng syntaxhighlight chưa.
Link :point_right: https://ideone.com/lUI1ED.

2 Likes

vâng thì code vẫn ok , mà ý mình ở đây là làm thế nào để xuất kết quả ra là “a” xuất hiện lần thứ 3 vị trí 16, vì như yêu cầu là lấy vị trí “a” xuất hiện lần thứ 3 thôi

Thì bạn duyệt từ cuối mảng lên đầu. Nếu thấy thì in ra vị trí song break.
Bạn tham khảo :point_right: https://ideone.com/JdglxY.

2 Likes

vâng e cảm ơn đã giúp đỡ ạ

à còn nếu lấy “a” xuất hiện lần 2 thì sao ạ

Bạn có thể tự tạo một function để làm điều đó. Vd takeIndex(str, c, index)
Sẽ lấy vị trí thứ index của ký tự c trong sâu str. Không thấy trả về -1.
Bạn xem tham khảo :point_right: https://ideone.com/a0aqDN. :slight_smile:

2 Likes

e cảm ơn đã hiểu rồi ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?