01/10/2018, 01:14
Hỏi bài tập tìm vị trí của kí tự trong một chuỗi cho trước
Chào các bạn!
Mình mới học Python được hai hôm. Có một bài tập về hàm lặp như bên dưới mong các bạn giúp đỡ
Đề bài:
Ta có chuỗi sau: str = ‘Dai học Bach Khoa Ha noi’
Yêu cầu:
Tìm vị trí của ký tự ‘a’ thứ ba trong chuỗi trên.
P/s: Ngoài ra mình cũng được gợi ý dùng split()
để giải bài này nhưng rất tiếc là cũng chưa nghĩ ra
Bài liên quan
Hỏi nhỏ, nếu bạn là người phải tìm vị trí của chữ a thứ 3 trong chuỗi trên mà không phải bất kì cái máy nào thì bạn sẽ làm như thế nào, đừng nghĩ đến code vội
Có lẽ mình sẽ đếm
That’s right, thuật toán để giải bài này cũng chính là đếm.
Lấy từng kí tự tại mỗi vị trí và so sánh khi nào được kí tự a thứ 3 thì xuất kết quả ra
Nhưng vấn đề ở đây đáp án phải là “ví trí” của kí tự bạn ạ
-Tạo 1 biến đếm khởi tạo = 0
-Duyệt chuỗi
+Gặp kí tự a thì biến đếm++,
+Nếu biến đếm = 3 không duyệt nữa đồng thời lấy vị trí của kí tự a đó
Từ mảng arr =‘Dai hoc Bach Khoa Ha noi’
Bạn tạo 1 mảng arrB gồm index của tất cả các kí tự a. rồi in ra arrB(2) :>
Theo ngu kiến của mình là vậy
Thật sự là ý tưởng của mình cũng tựa tựa như này. Tuy nhiên có thể do code gà nên vẫn chưa thành công
Đếm thì phải nhớ kết quả lại rồi chứ nhỉ, cách bạn đếm ngoài thực tế như thế nào thì áp dụng vào code là ra
bạn viết 1 vòng for in ra từng ký tự của str được thì bài này thêm 1 dòng if nữa là ra thôi
1 cách viết khác trong python
cú pháp Python lạ nhỉ
Viết đúng kiểu Python (Pythonic) thì ko có mấy câu for(i=…)
có thể hiểu là bạn tạo 1 array chứa từng phần tử trong cái chuỗi dhbkhn kia tam gọi là array a
tạo 1 biến count = 0
duyệt từng phần tử trong array đó a[i] từ i =0 đến i < array leng
nếu gặp bất kì thằng a[i] nào có value = a thì tăng biến count lên 1 , k thì duyệt tiếp
đến khi count = 3 thì in ra thằng a[i]
array=“Dai hoc Bach khoa HN”
i=0
dem=0
while(dem<3) :
if array[i]==“a”:
dem+=1
vt=i
i+=1
print(“vi tri %d”%vt)
trong python có hàm positionF = line.index(“F”) hỗ trợ nè bạn.