Trong Python, Tuple là một kiểu dữ liệu quan trọng, thường được sử dụng để lưu trữ một tập hợp các phần tử không thể thay đổi. Việc hiểu rõ và vận dụng thành thạo Tuple là nền tảng cho việc xử lý dữ liệu hiệu quả. Bài viết này sẽ giới thiệu một số bài tập cơ bản về Tuple, giúp bạn củng cố kiến thức và nâng cao kỹ năng lập trình.
Các điểm chính
Khi đọc xong bài viết, bạn sẽ:
- Thứ nhất, bạn sẽ hiểu rõ bản chất của Tuple và cách chúng hoạt động thông qua các ví dụ minh họa sinh động.
- Thứ hai, bạn sẽ nâng cao khả năng giải quyết vấn đề với các bài tập thực tế như tìm số duy nhất, tính tổng Tuple, và tạo Tuple ngẫu nhiên.
- Thứ ba, bạn sẽ làm quen với các thao tác cơ bản trên Tuple, giúp bạn tự tin ứng dụng kiến thức vào các dự án cá nhân.
- Thứ tư, bạn sẽ có một nguồn bài tập hữu ích để luyện tập và củng cố kiến thức về Tuple.
Bài tập về Tuple trong Python số 1: Tìm các số duy nhất
Chương trình Python dưới đây sẽ tìm các số duy nhất (không lặp lại) trong một Tuple cho trước:
T1 = (1, 9, 1, 6, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 2)
T2 = () # Tạo một Tuple rỗng
for x in T1:
if x not in T2:
T2 += (x,) # Thêm phần tử vào T2
print("Tuple ban đầu:", T1)
print("Các số duy nhất:", T2)
Khi thực thi đoạn mã trên, kết quả sẽ là:
Tuple ban đầu: (1, 9, 1, 6, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 2)
Các số duy nhất: (1, 9, 6, 3, 4, 5, 2, 7, 8)
Giải thích:
T1 = (1, 9, 1, 6, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 2)
: Khởi tạo một TupleT1
chứa các số nguyên, trong đó có nhiều số lặp lại.T2 = ()
: Khởi tạo một Tuple rỗngT2
. Tuple này sẽ được dùng để chứa các số duy nhất tìm được từT1
.for x in T1:
: Bắt đầu vòng lặpfor
duyệt qua từng phần tửx
của TupleT1
.if x not in T2:
: Kiểm tra xem phần tửx
hiện tại đã có trong TupleT2
hay chưa. Nếux
chưa có trongT2
(nghĩa làx
là một số mới, chưa xuất hiện), khối lệnh bên trongif
sẽ được thực thi.T2 += (x,)
: Nếux
chưa có trongT2
, ta thêmx
vào cuối TupleT2
. Chú ý dấu phẩy,
saux
là cần thiết để tạo một Tuple có một phần tử, vì nếu không có dấu phẩy,(x)
sẽ chỉ được coi như một biểu thức toán học bình thường.print("Tuple ban đầu:", T1)
: In ra Tuple ban đầuT1
.print("Các số duy nhất:", T2)
: In ra TupleT2
chứa các số duy nhất tìm được.
Bài tập về Tuple số 2: Tính tổng các số trong Tuple
Chương trình Python sau đây sẽ tính tổng tất cả các số có trong một Tuple:
T1 = (1, 9, 1, 6, 3, 4)
tong = 0
for x in T1:
tong += x
print("Tổng các số (dùng vòng lặp):", tong)
tong = sum(T1)
print("Tổng các số (dùng hàm sum()):", tong)
Khi chạy, chương trình sẽ hiển thị:
Tổng các số (dùng vòng lặp): 24
Tổng các số (dùng hàm sum()): 24
Giải thích: Có 2 cách tính tổng ở bài tập này, bằng vòng lặp for
và bằng hàm sum()
Cách 1 – Sử dụng vòng lặp:
T1 = (1, 9, 1, 6, 3, 4)
: Khởi tạo một TupleT1
chứa các số nguyên.tong = 0
: Khởi tạo biếntong
với giá trị ban đầu là 0. Biến này sẽ lưu tổng các số trong Tuple.for x in T1:
: Bắt đầu vòng lặpfor
, duyệt qua từng phần tửx
của TupleT1
.tong += x
: Với mỗi phần tửx
, cộng giá trị củax
vào biếntong
. Câu lệnh này tương đương vớitong = tong + x
.print("Tổng các số (dùng vòng lặp):", tong)
: Sau khi vòng lặp kết thúc (đã duyệt qua hết các phần tử củaT1
), in ra giá trị của biếntong
– đây chính là tổng các số trongT1
.
Cách 2 – Sử dụng hàm sum()
:
tong = sum(T1)
: Dùng trực tiếp hàmsum()
có sẵn trong Python. Hàmsum()
nhận đầu vào là một Tuple (hoặc một iterable khác như List) và trả về tổng của tất cả các phần tử trong đó.print("Tổng các số (dùng hàm sum()):", tong)
: In ra kết quả.
Bài tập về Tuple số 3: Tạo Tuple chứa số ngẫu nhiên
Chương trình Python sau đây sẽ tạo một Tuple chứa 5 số nguyên ngẫu nhiên:
import random # Nhập module random
t1 = () # Khởi tạo một Tuple rỗng
for i in range(5): # Vòng lặp chạy 5 lần
so_ngau_nhien = random.randint(0, 100) # Tạo số ngẫu nhiên từ 0 đến 100
t1 += (so_ngau_nhien,) # Thêm số ngẫu nhiên vào Tuple
print(t1) # In Tuple ra màn hình
Kết quả (mỗi lần chạy sẽ khác nhau vì là số ngẫu nhiên):
(64, 21, 68, 6, 12)
Giải thích chi tiết:
import random
: Dòng này nhập (import
) modulerandom
. Modulerandom
cung cấp các hàm để làm việc với số ngẫu nhiên trong Python.t1 = ()
: Khởi tạo mộtTuple
rỗng có tên làt1
.Tuple
này sẽ chứa các số ngẫu nhiên được tạo ra.for i in range(5):
: Bắt đầu một vòng lặpfor
. Hàmrange(5)
tạo ra một chuỗi các số từ 0 đến 4 (tổng cộng 5 số). Vòng lặp này sẽ chạy 5 lần. Biếni
sẽ lần lượt nhận các giá trị 0, 1, 2, 3, và 4 trong mỗi lần lặp, tuy nhiên trong bài nàyi
chỉ mang giá trị là số thứ tự trong vòng lặp.so_ngau_nhien = random.randint(0, 100)
: Trong mỗi lần lặp:random.randint(0, 100)
: Gọi hàmrandint()
của modulerandom
. Hàm này tạo ra một số nguyên ngẫu nhiên nằm trong khoảng từ 0 đến 100 (bao gồm cả 0 và 100).so_ngau_nhien =
: Gán số nguyên ngẫu nhiên vừa tạo được vào biếnso_ngau_nhien
.
t1 += (so_ngau_nhien,)
: Thêm giá trị của biếnso_ngau_nhien
vào cuốiTuple
t1
. Dấu phẩy sauso_ngau_nhien
là quan trọng, nó để cho Python hiểu rằng(so_ngau_nhien,)
là mộtTuple
có một phần tử. Nếu bỏ dấu phẩy, Python sẽ hiểu đó chỉ là một biểu thức số học đơn giản.print(t1)
: Sau khi vòng lặp kết thúc (đã tạo đủ 5 số ngẫu nhiên), inTuple
t1
ra màn hình.
Lời kết
Chúng ta vừa cùng nhau khám phá các bài tập thú vị về Tuple trong Python, từ tìm số duy nhất, tính tổng đến tạo Tuple ngẫu nhiên. Hy vọng qua những bài tập này, bạn đã nắm vững hơn cách làm việc với Tuple và ứng dụng chúng vào giải quyết các bài toán thực tế.
Mọi người cũng đọc