Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 12. Kiểu xâu

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Ngọc Tuân
Ngày gửi: 16h:39' 07-12-2022
Dung lượng: 920.0 KB
Số lượt tải: 342
Số lượt thích: 0 người
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: ?
Input: dãy các ký tự là họ tên
của học sinh

=> Dữ liệu vào bây giờ không phải là số mà là dãy ký tự.

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”

1. Các phép toán
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ụ: “Toán học” > “Tin 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
d)

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

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
0

g
1

u
2

y
3


4

n
5

6

V
7

ă
8

n
9

H ù n g
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

0

1

2

3

4

5

S[1] ="g"

6

V

ă

n

7

8

9 10 11 12 13 14

S[7] ="V"

H

ù

n

g

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
N

g

u

y



n

0

1

2

3

4

5

S = "Nguyễn Văn Hùng"
P = S[7:10] => P= "Văn"

6

V

ă

n

H

ù

n

g

7

8

9 10 11 12 13 14

3. Một số hàm và phương thức làm việc với xâu

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="Tin-học-python"
v=s.count("n",0,5)
v2=s.count("n")

=> v= 1
=> 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="nam-cũng-thích-python"
p=s.strip("n")
=> p="am-cũng-thích-pytho"

+ Phương thức lstrip(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-thí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"

4. Một số bài tập
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.

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

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
 
Gửi ý kiến