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

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:

 

pptx 42 trang Trí Tài 03/07/2023 1530
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:

  • pptxbai_giang_tin_hoc_11_bai_12_kieu_xau_string_nam_hoc_2022_202.pptx