Bài giảng Tin học 11 - Bài 12: Kiểu xâu (String) - Năm học 2022-2023 - Nguyễn Lan Hương - Trường THPT Nguyễn Thái Học
- Xâu là một dãy gồm các kí tự trong bảng mã Unicode.
- Trong Python, dữ liệu kiểu xâu được khởi tạo bằng cách gán xâu ký tự nằm giữa hai dấu nháy đơn hoặc nháy kép. Tên kiểu dữ liệu: str
- Ta có thể tạo các biến kiểu xâu kí tự theo nhiều cách sau:
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 11 - Bài 12: Kiểu xâu (String) - Năm học 2022-2023 - Nguyễn Lan Hương - Trường THPT Nguyễn Thái Học", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Chủ đề 4:KIỂU DỮ LIỆU CÓ CẤU TRÚC BÀI 12: KIỂU XÂU(STRING) Bài 12KIỂU XÂU(STRING) NỘI DUNG BÀI HỌC I . DỮ LIỆU KIỂU XÂU II. CÁC THAO TÁC XỬ LÍ XÂU Bài 12: KIỂU XÂU(STRING) III. MỘT SỐ VÍ DỤ Hãy nhập họ tên : Nguyễn Thanh Tuyền KẾT QUẢ HIỂN THỊ RA MÀN HÌNH Nguyễn Thanh Tuyền KHỞI ĐỘNG: Hãy nhập họ tên từ bàn phím, hiển thị họ tên vừa nhập ra màn hình. => Dữ liệu vào bây giờ không phải là số mà là dãy ký tự. I . Dữ liệu kiểu xâu - Xâu là một dãy gồm các kí tự trong bảng mã Unicode. - Trong Python, dữ liệu kiểu xâu được khởi tạo bằng cách gán xâu ký tự nằm giữa hai dấu nháy đơn hoặc nháy kép . Tên kiểu dữ liệu: str - Ta có thể tạo các biến kiểu xâu kí tự theo nhiều cách sau: s = “Thời khóa biểu” xau = ‘tin-11@123’ ki_tu = “A” Xau_rong = “” AomoiCM = “”” Nghe nói Cà Mau xa lắm Ở cuối cùng bản đồ Việt Nam Ngại chi đường xa không tới Về để nói với nhau mấy lời ””” Vd: str1 = '''Vi du nhap chuoi nhieu dong trong Python day la dong thu 2 day la dong thu 3 day la dong thu 4''' print(str1) -> Có thể gán một chuỗi nhiều dòng cho một biến bằng cách sử dụng 3 dấu nháy kép hoặc 3 dấu nháy đơn. I . Dữ liệu kiểu xâu I . Dữ liệu kiểu xâu - Xâu kí tự thuộc dạng dữ liệu tuần tự . Do đó có thể t ruy cập vào từng kí tự của xâu qua chỉ số s[i] , hoặc truy cập vùng chỉ số s[i: j] , chỉ số từ 0 đến độ dài len()- 1 và đảo chiều bằng cách thêm dấu âm - theo chiều ngược lại. - Sử dụng cú pháp: [ ] s A B C D E Chỉ số 0 1 2 3 4 Chỉ số âm - 5 - 4 - 3 - 2 - 1 - Dễ dàng nhận thấy rằng xâu có thể được coi là danh sách các kí tự và có độ dài tùy ý. - Xâu rỗng là xâu có độ dài bằng 0 và được định nghĩa như sau: B= ‘’ I . Dữ liệu kiểu xâu - Python không cho phép thay đổi từng kí tự của một xâu (điều này khác với danh sách ). Ví dụ Điểm giống Xâu có thể hiểu là một dãy các kí tự, có thể truy cập từng phần tử đánh từ chỉ số 0 hoàn toàn tương tự như danh sách. Có thể duyệt theo từng kí tự trên xâu. Điểm khác Không thể thay đổi các kí tự trên xâu, trong khi có thể thay đổi giá trị từng phần tử của danh sách. S ự khác nhau giữa xâu (string) và danh sách (list). ** Cách tạo một biến kiểu xâu Cách 1: Dùng lệnh gán . Ví dụ: s= “THPT Cà Mau” Cách 2 : Nhập xâu từ bàn phím = input() Ví dụ: s = input(“Nhập vào 1 xâu từ bàn phím:”) Câu hỏi và bài tập củng cố Câu 1. Các xâu kí tự sau có hợp lệ không? a) "123&*()+-ABC" b) "1010110&0101001" c) "Tây Nguyên" d) 11111111 = 256 Câu 2. Mỗi xâu hợp lệ ở Câu 1 có độ dài bằng bao nhiêu? a) "123&*()+-ABC" 12 b) "1010110&0101001" 15 c) "Tây Nguyên" 10 Bài tập về nhà: st= 'Hoc Lap Trinh Python' len(st)=? st[1]=? st[-5]=? st[4]=? st[-7]=? st[0:5]=? st[:6]=? st[1:8]=? st[4:]=? st[6:-2]=? st[-12:19]=? II. Các thao tác xử lý xâu 1. Các phép toán a. Phép ghép xâu : kí hiệu là dấu + dùng để ghép nhiều xâu thành 1 xâu. Ví dụ: “Hà”+ “Nội” => “HàNội” b. Phép nhân xâu : kí hiệu là dấu * Ví dụ: “ Tin học” * 3 => “Tin họcTin họcTin học ” c . Phép so sánh : ==, != (khác), , = được thực hiện theo quy tắc: Xâu A > xâu B nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang phải trong xâu A có mã Unicode lớn hơn. Ví dụ: “T o án học ” > “ T i n học” Xâu A > B nếu xâu B là phần đầu của xâu A. Ví dụ: “ Tin học” > “ Tin ” Hai xâu bằng nhau nếu chúng giống hoàn toàn 1. Các phép toán Ví dụ : s1 :=‘AC’; s2:=‘AB’; à s1 > s2 (vì C>B) s3:=‘a’; s4:=‘BCa’; à s3 > s4 (vì a>B) ‘Tin hoc’ = ‘Tin hoc’ Chú ý: + Thứ tự so sánh các kí tự : ‘ dấu cách ’ < ‘0’ ‘9’ < ‘A’ ‘Z’ < ‘a’ ‘z’ + Kí tự rỗng có thứ tự nhỏ hơn mọi kí tự khác Chương trình 2. Lệnh duyệt kí tự của xâu Quan sát các lệnh sau để biết cách duyệt từng kí tự của xâu kí tự bằng lệnh for . Có hai cách duyệt, theo chỉ số và theo phần tử của xâu kí tự: Duyệt theo chỉ số Duyệt theo kí tự của xâu H ai cách duyệt xâu hoàn toàn giống như duyệt các phần tử của danh sách. Với toán tử in dùng với xâu kí tự thì ý nghĩa được mở rộng thêm như sau: Lưu ý Câu hỏi Cho s1 = "abc" , s2 = "ababcabca" . Các biểu thức logic sau cho kết quả là đúng hay sai? a) s1 in s2 b) s1 + s1 in s2 c) "abcabca" in s2 d) "abc123" in s2 Đúng Đúng Đúng Sai Câu 1. Giả sử s = "Thời khóa biểu" thì len (s) bằng bao nhiêu ? A. 3 B. 5 C. 14 D. 17 Câu 2. Biểu thức lôgic nào sau đây trả về giá trị True? A. "01" in "10101" B. "10110" in "111000101 " C. "acbab" in "bacbcabcabcb" D. "125" in "0123456789" Câu 3. Nếu S = "1234567890" thì S[0:4] là gì ? A. 123 B. 0123 C. 01234 D. 1234 Câu 4. Kết quả của đoạn chương trình sau là gì? A. "" B. 02468 C. 13579 D. 0123456789 Câu 5. Mệnh đề nào dưới đây là đúng ? A. Xâu kí tự trong Python là xâu chỉ gồm các kí tự nằm trong bảng mã ASCII. B. Xâu kí tự trong Python là xâu bao gồm các kí tự nằm trong bảng mã ASCII và một số kí tự tiếng Việt trong bảng mã Unicode. C. Xâu kí tự trong Python là xâu bao gồm các kí tự nằm trong bảng mã Unicode. D. Xâu kí tự trong Python là xâu bao gồm các kí tự số và chữ trong bảng mã Unicode. a. Hàm len() : trả về độ dài xâu S=" Tin học" L=len(S) => 7 b. Hàm str() : chuyển đổi dữ liệu ở dạng số sang dạng xâu str (25) => “ 25” str (3.14) => “ 3.14” c. Hàm int(), float(): chuyển đổi dữ liệu ở dạng xâu sang dạng số nguyên hay số thực tương ứng. int ("15") => 15 float ("12.34") => 12.34 3. Một số hàm và phương thức làm việc với xâu d) Phương thức lower() : chuyển các ký tự của xâu gốc thành các ký tự thường Ví dụ: s=“ ABC” p=s.lower() print(p) => p= “abc” e ) Phương thức upper () : chuyển các ký tự của xâu gốc thành in hoa s=“ abc” p= s.upper() print(p) => p= “ABC” 3. Một số hàm và phương thức làm việc với xâu f ) Phương thức split () : tách xâu gốc thành các xâu con cách nhau bởi dấu cách s=“Tin học” print(s.split()) => 2 xâu con nhận được là [ 'Tin', 'học'] * Phương thức split( char ) : tách xâu gốc thành các xâu con cách nhau bởi ký tự char, và lưu các xâu con vào list. Ví dụ: st=" Tin-học-lớp-11" list1=st.split ("-") => list1= ['Tin', 'học', 'lớp', '11 '] 3. Một số hàm và phương thức làm việc với xâu g) Phương thức count(st,vt1,vt2) : trả về số lần xuất hiện xâu con st trong khoảng từ vị trí vt1 tới vị trí vt2 . Ví dụ: s=" Ti n -học-pytho n " v=s.count ("n", 0,5) => v= 1 v2=s.count ("n ") => v2=2 * Nếu không có tham số vt1 và vt2 thì mặc định vt1=0 , vt2=độ dài xâu gốc 3. Một số hàm và phương thức làm việc với xâu h ) Phương thức strip( char ) : trả về một bản sao của chuỗi ban đầu , trong đó xoá tất cả ký tự char ở đầu và cuối chuỗi . Ví dụ: s=" n am-cũ n g-thích-pytho n " p=s.strip(" n ") => p ="am-cũ n g-thích-pytho " + Phương thức l strip( char ) : xoá tất cả ký tự char ở đầu chuỗi + Phương thức rstrip( char ): xoá tất cả ký tự char ở cuối chuỗi 3. Một số hàm và phương thức làm việc với xâu i ) Phương thức find( st ) : trả về vị trí của xâu st đầu tiên trong xâu gốc , nếu st không có trong xâu gốc thì vị trí là - 1 Ví dụ: s=" nam-t h ích-python " vt=s.find (" h ") => vt=5 vt2=s.find(" b ") => vt2= -1 3. Một số hàm và phương thức làm việc với xâu j) Phương thức replace( , ) : trả về một bản sao của xâu ban đầu sau khi đã thay thế các xâu con cũ bằng xâu con mới . Ví dụ: s="nam-thích-python" p=s.replace( "thích" , "học" ) print(p) => p= " nam-học-python " 3. Một số hàm và phương thức làm việc với xâu Câu 1: Biểu thức sau trả lại giá trị gì? "" in "0123" A. True C. Báo lỗi B. False D. 0 Câu 2: Lệnh sau trả lại giá trị gì? "abcde".find("") B. 0 C. 1 A. -1 D. Báo lỗi Câu 3: Lệnh sau trả lại giá trị gì? "0123456789".find("012abc") A. -1 C. 1 B. 0 D. Báo lỗi Câu 4: Lệnh sau trả lại giá trị gì? len(" Hà Nội Việt Nam ".split()) B. 4 C. 7 A. 0 D. 8 Câu 5: Lệnh sau trả lại giá trị gì? "Trường Sơn".find("Sơn", 4) C. 7 B. 6 A. 5 D. 8 III. Một số ví dụ Ví dụ 1: Chương trình nhập họ tên của hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau. Chương trình: III. Một số ví dụ Ví dụ 2: Chương trình nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không. III. Một số ví dụ Ví dụ 3: Chương trình nhập một xâu vào từ bàn phím và đưa ra màn hình xâu đó nhưng được viết theo thứ tự ngược lại. Chương trình: Kết quả: III. Một số ví dụ Ví dụ 4: Chương trình nhập một xâu vào từ bàn phím và đưa ra màn hình xâu thu được từ nó sau khi loại bỏ các dấu cách nếu có. Chương trình Kết quả III. Một số ví dụ Chương trình Kết quả Ví dụ 5: Chương trình nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình.
Tài liệu đính kèm:
- bai_giang_tin_hoc_11_bai_12_kieu_xau_string_nam_hoc_2022_202.pptx