Bài giảng Tin học 11 - Bài 11: Dữ liệu kiểu xâu - Năm học 2022-2023 - Nguyễn Lan Hương - Trường THPT Nguyễn Thái Học
- Xâu là dãy các kí tự trong bảng mã Unicode và được đặt trong cặp dấu nháy đơn hoặc dấu nháy kép
- Mỗi kí tự trong xâu được gọi là một phần tử của xâu.
Số lượng kí tự trong xâu được gọi là độ dài của xâu
Xâu có độ dài bằng 0 là xâu rỗng
Ví dụ:
- Xâu “Nguyễn Văn A” có độ dài 12
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 11 - Bài 11: Dữ liệu kiểu xâu - 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
Tiết 28-29-30 Bài 12.DỮ LIỆU KIỂU XÂU (3 tiết) I. Dữ liệu kiểu xâu Xét bài toán nhập vào họ tên của học sinh trong lớp. Input: ? Output: ? => Dữ liệu vào bây giờ không phải là số mà là dãy ký tự. Input: dãy các ký tự là họ tên của học sinh 1. Khái niệm - Xâu là dãy các kí tự trong bảng mã Unicode và được đặt trong cặp dấu nháy đơn hoặc dấu nháy kép - Mỗi kí tự trong xâu được gọi là một phần tử của xâu. Số lượng kí tự trong xâu được gọi là độ dài của xâu Xâu có độ dài bằng 0 là xâu rỗng Ví dụ: - Xâu “Nguyễn Văn A” có độ dài 12 2. Cách tạo một biến kiểu xâu Cách 1: Dùng lệnh gán . Ví dụ: s= “Nguyễn Văn Hùng” 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) 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 Phép toán in: cho biết xâu thứ nhất có xuất hiện trong xâu thứ 2 hay không? Có thì trả về kết quả là True, ngược lại là False Ví dụ: “học” in “Tin học” =>True “TIN” in “Tin học” => False 1. Các phép toán 2. Chỉ số và các thao tác với chỉ số trong xâu a. Các kí tự trong xâu được đánh chỉ số từ trái qua phải và bắt đầu từ 0 đến độ dài xâu - 1 S = “Nguyễn Văn Hùng” N g u y ễ n V ă n H ù n g 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2. Chỉ số và các thao tác với chỉ số trong xâu b. Tham chiếu tới phần tử xâu: [chỉ số] S = “Nguyễn Văn Hùng” N g u y ễ n V ă n H ù n g 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 S[ 1 ] ="g" S[ 7 ] ="V" 2. Chỉ số và các thao tác với chỉ số trong xâu c. Sao chép xâu: [ : ] Tạo ra một xâu mới là đoạn con của xâu gốc từ đến - 1 S = "Nguyễn Văn Hùng" P = S[7:10] => P= "Văn" N g u y ễ n V ă n H ù n g 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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 BT1. Viết chương trình nhập một câu thơ st từ bàn phím a. Đưa ra màn hình độ dài của câu thơ vừa nhập b. Đưa ra màn hình số từ trong câu thơ c. Đưa ra màn hình vị trí của xâu "hà" đầu tiên có trong câu thơ d. Thay thế tất cả các xâu "hà" thành xâu "hoà" e. Đưa ra màn hình câu thơ ở dạng in hoa. 4. Một số bài tập Kiểm tra 15 phút: Viết chương trình nhập một xâu st từ bàn phím. Đưa ra màn hình độ dài xâu st vừa nhập. - Viết xâu đó ra màn hình theo chiều dọc. Ví dụ: Nhập vào: HaNoi Đưa ra màn hình: Độ dài xâu vừa nhập: 5 H a N o i BÀI TẬP Bài 1: Viết chương trình nhập vào 12 số nguyên dương là số tiền điện của 12 tháng trong năm vừa qua của nhà em. - Tính và đưa ra màn hình tổng số tiền điện trong năm qua của nhà em. - Tính và đưa ra màn hình trung bình số tiền điện hàng tháng nhà em phải trả. (tbn) - Đưa ra màn hình các tháng có số tiền điện lớn hơn số tiền trung bình năm (tbn). Bài 2 Cho biết chương trình sau thực hiện công việc gì? Bài 4 Tên tệp thường gồm hai phần: phần tên và phần mở rộng, ngăn cách nhau bởi dấu chấm (.). Các file mã nguồn của Python có phần mở rộng là “py”. Em hãy viết chương trình nhập vào một xâu là một tên tệp và kiểm tra xem tên tệp đó có phải là tên tệp của file mã nguồn của Python không? Nếu có ghi ra “YES”, ngược lại ghi ra “NO” Ví dụ: “checkName.py”, “Hello.py” là tên tệp của file mã nguồn của Python, “introPython.doc”, “studentList.xls” thì không phải Input Output checkName.py YES Hello.py YES introPython.doc NO studentList.xls NO Bài 5 Một nhà mạng quy định độ dài của một tin nhắn cơ sở là 70 kí tự và có giá cước là 300 VND. Em hãy viết một chương trình nhập vào một xâu là một tin nhắn gồm các kí tự mà em muốn gửi bạn và cho biết tin nhắn đó khi gửi đi sẽ mất phí là bao nhiêu? Cách 1: Cách hiểu như sau Nếu 1 tin nhắn có độ dài tối đa 70 hết 300 VND Nếu tin nhắn dài 75 kí tự ta có 2 tin hết 600 VND Vậy có chương trình như sau s=input("Mời bạn nhập tin nhắn:") du=0 if len(s)%7!=0: du=1 sotin=len(s)//7 + du print("Phí tin nhắn là:",sotin*300) Cách 2: Cách hiểu như sau Nếu 1 tin nhắn có độ dài tối đa 70 hết 300 VND Nếu tin nhắn dài 75 kí tự ta có 2 tin hết số tiền là: (75//70)*300+(75%70)*300/70 Vậy có chương trình như sau
Tài liệu đính kèm:
- bai_giang_tin_hoc_11_bai_11_du_lieu_kieu_xau_nam_hoc_2022_20.pptx