BÀI 24: XÂU KÝ TỰ TRONG PYTHON

 

BÀI 24: XÂU KÝ TỰ TRONG PYTHON

1. Yêu cầu cần đạt

  • Hiểu được xâu kí tự là kiểu dữ liệu cơ bản của Python.
  • Biết và thực hiện được lệnh for để xử lý xâu kí tự.


2. Nội dung bài học

2.1. Xâu là một dãy ký tự

Ví dụ 1: Xâu ký tự và cách truy cập từng ký tự

s = "Python" print(s[0]) # P print(s[1]) # y

  • Một xâu ký tự là một dãy các ký tự Unicode.
  • Có thể truy cập từng ký tự của xâu bằng chỉ số (bắt đầu từ 0).

Ví dụ 2: Sự khác biệt giữa xâu và danh sách

s = "Python" s[0] = "J" # Báo lỗi vì xâu là kiểu dữ liệu bất biến (immutable)

  • Python không cho phép thay đổi từng ký tự của xâu, khác với danh sách.
  • Không có kiểu dữ liệu ký tự riêng biệt, ký tự chính là một xâu có độ dài 1.
  • Xâu rỗng được định nghĩa bằng empty = "".

Ghi nhớ:

  • Xâu có thể coi là danh sách các ký tự nhưng không thể thay đổi trực tiếp.
  • Truy cập từng ký tự bằng chỉ số từ 0 đến len(s) - 1.

2.2. Lệnh duyệt ký tự của xâu

Cách 1: Duyệt theo chỉ số

s = "Hello" for i in range(len(s)): print(s[i], end=" ") # Kết quả: H e l l o

Cách 2: Duyệt trực tiếp từng ký tự

s = "Hello" for ch in s: print(ch, end=" ") # Kết quả: H e l l o

Toán tử in với xâu

print("a" in "abcd") # True print("abc" in "abcd") # True

  • in có thể dùng để kiểm tra xem một xâu con có tồn tại trong xâu cha hay không.
  • s1 in s2 trả về True nếu s1 là xâu con của s2.

3. Củng cố - Vận dụng

Câu hỏi thực hành

Câu 1: Kết quả của biến skq sau khi thực hiện đoạn mã sau là gì?

s = "81723" skq = "" for ch in s: if int(ch) % 2 != 0: skq = skq + ch print(skq) # Kết quả: "173"

Câu 2: Xác định kết quả của các biểu thức logic

s1 = "abc" s2 = "ababcabca" print(s1 in s2) # True print(s1 + s1 in s2) # True print("abcabca" in s2) # True print("abc123" in s2) # False

4. Thực hành

Nhiệm vụ 1: Nhập danh sách họ và tên học sinh

n = int(input("Nhập số học sinh: ")) danh_sach = [] for _ in range(n): ten = input("Nhập họ và tên: ") danh_sach.append(ten) print("Danh sách học sinh:") for ten in danh_sach: print(ten)

Nhiệm vụ 2: Kiểm tra xâu con "10" trong xâu S

Cách 1: Duyệt ký tự theo chỉ số

S = input("Nhập xâu: ") found = False for i in range(len(S) - 1): if S[i] == "1" and S[i + 1] == "0": found = True break print("Có chứa '10'" if found else "Không chứa '10'")

Cách 2: Sử dụng toán tử in

S = input("Nhập xâu: ") if "10" in S: print("Có chứa '10'") else: print("Không chứa '10'")

5 - TRẮC NGHIỆM

Mới hơn Cũ hơn
Đọc tiếp:
Lên đầu trang