Hot deal hosting vps vietnix tháng 2Hot deal hosting vps vietnix tháng 2
PHP
Python

Trang chủ

Một số bài tập về chuỗi trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
11/02/2025
8 phút đọc
Theo dõi Vietnix trên

Một số bài tập về chuỗi trong Python

Chuỗi là một kiểu dữ liệu cơ bản và quan trọng trong Python, được sử dụng rộng rãi trong nhiều tác vụ lập trình khác nhau. Việc thành thạo các thao tác xử lý chuỗi giúp bạn giải quyết các bài toán một cách hiệu quả hơn. Bài viết này mình sẽ giới thiệu một số bài tập về chuỗi thường gặp trong Python, từ những bài toán cơ bản như đếm ký tự đến các bài tập nâng cao hơn.

Các điểm chính

Khi đọc xong bài viết, bạn sẽ:

  • Nắm vững khái niệm và cách thao tác với chuỗi trong Python: Qua các ví dụ thực tế, bạn sẽ hiểu rõ chuỗi là gì, và các phương thức làm việc với chuỗi trong Python như thế nào.
  • Làm quen với tư duy giải quyết vấn đề trong lập trình: Bạn không chỉ học code mà còn học cách phân tích bài toán và biến nó thành các bước logic để viết code giải quyết.
  • Giải quyết thành thạo các bài toán chuỗi cơ bản: Sau bài viết, bạn có thể tự tin viết code để đếm nguyên âm, chuyển đổi chuỗi nhị phân, hay xử lý chuỗi theo yêu cầu riêng.
  • Xây dựng nền tảng vững chắc để học lập trình Python nâng cao: Các bài tập chuỗi là bước khởi đầu quan trọng. Sau khi thành thạo, bạn sẽ dễ dàng tiếp cận các chủ đề phức tạp hơn.

Ví dụ 1: Đếm số lượng nguyên âm

Chương trình Python sau đây đếm số lượng nguyên âm trong một chuỗi cho trước.

chuoi_ky_tu = "Chao mung ban den voi the gioi lap trinh Python!"
nguyen_am = "aeiouAEIOU"  # Đã bao gồm cả chữ hoa và chữ thường
dem = 0

for ky_tu in chuoi_ky_tu:
    if ky_tu in nguyen_am:
        dem += 1

print("Số lượng nguyên âm:", dem)

Khi chạy, chương trình sẽ cho kết quả:

Số lượng nguyên âm: 15

Giải thích:

  • chuoi_ky_tu = "Chao mung ban den voi the gioi lap trinh Python!": Khai báo một biến chuoi_ky_tu và gán cho biến này một chuỗi.
  • nguyen_am = "aeiouAEIOU": Khai báo một biến nguyen_am chứa tất cả các nguyên âm (cả chữ hoa và chữ thường).
  • dem = 0: Khởi tạo biến dem để lưu số lượng nguyên âm, ban đầu gán giá trị 0.
  • for ky_tu in chuoi_ky_tu:: Vòng lặp for duyệt qua từng ký tự (ky_tu) trong chuoi_ky_tu.
  • if ky_tu in nguyen_am:: Kiểm tra xem ký tự hiện tại (ky_tu) có nằm trong chuỗi nguyen_am hay không.
  • dem += 1: Nếu ký tự đó là một nguyên âm, tăng biến dem lên 1.
  • print("Số lượng nguyên âm:", dem): In ra số lượng nguyên âm tìm được.

Ví dụ 2: Chuyển chuỗi nhị phân thành số nguyên

Chương trình Python sau đây chuyển đổi một chuỗi chứa các chữ số nhị phân thành số nguyên.

chuoi_nhi_phan = '11011'

def chuoi_sang_so_nguyen(chuoi_nhi_phan):
    for ky_tu in chuoi_nhi_phan:
        if ky_tu not in '01':
            return "Lỗi. Chuỗi chứa ký tự không phải nhị phân."
    so_nguyen = int(chuoi_nhi_phan, 2) #Sử dụng int(chuoi_muon_doi, cơ_số)
    return so_nguyen

print("Chuỗi nhị phân:{}, Số nguyên: {}".format(chuoi_nhi_phan, chuoi_sang_so_nguyen(chuoi_nhi_phan)))

Kết quả:

Chuỗi nhị phân:11011, Số nguyên: 27

Thay đổi chuỗi chuoi_nhi_phan sang ‘1201’

Lỗi. Chuỗi chứa ký tự không phải nhị phân.

Giải thích:

  • chuoi_nhi_phan = '11011': Khai báo và gán giá trị cho biến chuoi_nhi_phan.
  • def chuoi_sang_so_nguyen(chuoi_nhi_phan):: Định nghĩa hàm chuoi_sang_so_nguyen nhận một tham số là chuỗi nhị phân.
  • for ky_tu in chuoi_nhi_phan:: Vòng lặp kiểm tra từng ký tự trong chuỗi đầu vào.
  • if ky_tu not in '01':: Nếu có ký tự nào không phải là '0' hoặc '1', hàm trả về thông báo lỗi.
  • so_nguyen = int(chuoi_nhi_phan, 2): Nếu chuỗi hợp lệ (chỉ chứa '0''1'), hàm này sử dụng hàm int() với đối số thứ hai là 2 (cơ số 2) để chuyển đổi chuỗi nhị phân thành số nguyên.
  • return so_nguyen: Trả về giá trị là số nguyên sau khi chuyển đổi.
  • print("Chuỗi nhị phân:{}, Số nguyên: {}".format(chuoi_nhi_phan, chuoi_sang_so_nguyen(chuoi_nhi_phan)): Gọi hàm và in kết quả.

Ví dụ 3: Xóa tất cả các chữ số khỏi một chuỗi

Chương trình Python để loại bỏ tất cả các chữ số khỏi một chuỗi.

# Tạo một danh sách các chuỗi đại diện cho các chữ số từ 0 đến 9
chuoi_so = [str(i) for i in range(10)]

chuoi_ban_dau = 'Ch1ao2 c3ac4 b5an6 Yeu7 l8ap9 trinh0!'  # Chuỗi ban đầu, chứa cả chữ và số.
chuoi_ky_tu = [] # Khởi tạo danh sách rỗng chứa kí tự sau khi lọc.

# Duyệt qua từng ký tự trong chuỗi ban đầu
for ky_tu in chuoi_ban_dau:
    # Nếu ký tự không nằm trong danh sách các chuỗi số
    if ky_tu not in chuoi_so:
        chuoi_ky_tu.append(ky_tu) # Thêm ký tự đó vào danh sách ký tự

# Tạo một chuỗi mới từ danh sách các ký tự đã lọc
chuoi_moi = ''.join(chuoi_ky_tu)
print(chuoi_moi)

Khi chạy code trên, bạn sẽ nhận được kết quả:

Chao cac ban Yeu lap trinh!

Giải thích code:

  • chuoi_so = [str(i) for i in range(10)]: Dòng này tạo ra một danh sách (list) chứa các chuỗi từ “0” đến “9”. range(10) tạo ra một dãy số từ 0 đến 9, sau đó, str(i) chuyển đổi từng số thành chuỗi, và [ ... for i in ... ] là một cú pháp Python (list comprehension) để tạo danh sách một cách nhanh chóng.
  • chuoi_ban_dau = 'Ch1ao2 c3ac4 b5an6 Yeu7 l8ap9 trinh0!': Đây là chuỗi ban đầu mà chúng ta muốn xử lý.
  • chuoi_ky_tu = []: Khởi tạo một danh sách rỗng để lưu trữ các ký tự không phải là chữ số.
  • for ky_tu in chuoi_ban_dau:: Vòng lặp này duyệt qua từng ký tự (ky_tu) trong chuoi_ban_dau.
  • if ky_tu not in chuoi_so:: Kiểm tra xem ký tự hiện tại có nằm trong danh sách chuoi_so (danh sách các chữ số) hay không. Nếu ky_tu không phải là chữ số, điều kiện này sẽ đúng (True).
  • chuoi_ky_tu.append(ky_tu): Nếu điều kiện ở trên đúng (ký tự không phải là chữ số), ký tự đó sẽ được thêm vào danh sách chuoi_ky_tu.
  • chuoi_moi = ''.join(chuoi_ky_tu): Dòng này tạo một chuỗi mới (chuoi_moi) bằng cách nối tất cả các ký tự trong danh sách chuoi_ky_tu lại với nhau. '' (chuỗi rỗng) ở đầu chỉ định rằng các ký tự sẽ được nối liền, không có ký tự nào xen giữa.
  • print(chuoi_moi): In chuỗi mới ra màn hình.

Dưới đây là một số bài tập để bạn thực hành thêm về xử lý chuỗi trong Python:

  • Chương trình Python để sắp xếp các ký tự trong một chuỗi: Sắp xếp các chữ cái trong một chuỗi theo thứ tự bảng chữ cái (a-z).
  • Chương trình Python để loại bỏ các ký tự trùng lặp khỏi một chuỗi: Loại bỏ các ký tự xuất hiện nhiều hơn một lần trong chuỗi.
  • Chương trình Python để liệt kê các ký tự duy nhất cùng với số lần xuất hiện của các ký tự trong một chuỗi: Tạo một danh sách (hoặc dictionary) chứa các ký tự riêng biệt trong chuỗi và số lần mỗi ký tự đó xuất hiện.
  • Chương trình Python để tìm số lượng từ trong một chuỗi: Đếm số từ có trong chuỗi (các từ được phân tách bằng dấu cách).
  • Chương trình Python để loại bỏ tất cả các ký tự không phải chữ cái khỏi một chuỗi: Chỉ giữ lại các chữ cái (a-z, A-Z) trong chuỗi.

Lưu ý: Các bài tập trên không có lời giải cụ thể để khuyến khích bạn tự thực hành. Nếu gặp khó khăn, hãy xem lại kiến thức về vòng lặp, danh sách, và các phương thức xử lý chuỗi trong Python, hoặc đặt câu hỏi nhé.

Lời kết

Chúng ta vừa cùng nhau khám phá một số bài tập về chuỗi trong Python, từ việc đếm nguyên âm, chuyển đổi chuỗi nhị phân, đến xóa chữ số. Hy vọng rằng những ví dụ này không chỉ giúp bạn hiểu rõ hơn về cách xử lý chuỗi mà còn là nguồn cảm hứng để bạn ứng dụng vào các dự án thực tế. Hãy tiếp tục thực hành và khám phá thêm nhiều bài tập thú vị khác để nâng cao kỹ năng lập trình Python của mình.

Mọi người cũng đọc

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn