Bài 17

Biến và lệnh gán

Hiểu khái niệm biến, cách sử dụng lệnh gán và thực hiện các phép toán trên kiểu dữ liệu cơ bản.

🚀

1. Khởi động (Engagement)

Trong Đại số, người ta dùng chữ để thay thế cho số cụ thể, ví dụ hằng đẳng thức (a+b)² = a² + 2ab + b² đúng cho mọi giá trị a, b. Trong các ngôn ngữ lập trình, người ta cũng dùng các kí tự hoặc nhóm các kí tự được gọi là biến (variable) để thay cho việc phải chỉ ra các giá trị dữ liệu cụ thể.

💡 Câu hỏi suy ngẫm:

  • Theo em, sử dụng biến có những lợi ích gì?

Biến là công cụ cơ bản và quan trọng nhất trong lập trình - giúp chương trình trở nên linh hoạt và dễ quản lý.

📖

2. Hình thành kiến thức (Knowledge)

1. Biến và lệnh gán

Biến là tên (định danh) của một vùng nhớ dùng để lưu trữ giá trị (dữ liệu) và giá trị đó có thể được thay đổi khi thực hiện chương trình. Biến trong Python được tạo ra khi thực hiện lệnh gán.

Lệnh gán: tên_biến = giá_trị

Khi thực hiện lệnh gán, bên phải sẽ được gán cho bên trái. Nếu biến chưa được khai báo thì nó sẽ được khởi tạo khi thực hiện câu lệnh gán.

Ví dụ cơ bản:

n = 5          # n được gán 5 và có kiểu số nguyên tại đây.
n              # 5
n + 3          # 8
y = "Tin học 10"  # y được gán "Tin học 10" có kiểu xâu kí tự tại đây.
y              # 'Tin học 10'
Python Script

Sau câu lệnh gán, kiểu dữ liệu của biến được xác định. Cần ghi nhớ điều này để tránh thực hiện các phép toán giữa các biến có kiểu dữ liệu khác nhau.

Lệnh gán với biểu thức:

z = x + y      # Lỗi: không thể cộng số và xâu ký tự
Python Script

Có thể thực hiện tất cả các phép toán thông thường như: +, -, *, /,... trên các biến có cùng kiểu dữ liệu.

Cú pháp tổng quát: tên_biến = biểu thức

Khi thực hiện lệnh này, Python sẽ tính giá trị của biểu thức và gán kết quả cho tên biến. Do đó, mọi biến có trong biểu thức đều cần được xác định giá trị trước đó.

Ngoài việc gán giá trị trực tiếp cho biến, ta có thể gán giá trị cho biến thông qua tính toán giá trị của biểu thức với các biến đã được xác định trước.

2. Quy tắc đặt tên biến

Tên biến thường được đặt sao cho dễ nhớ và có ý nghĩa. Quy tắc đặt tên biến:

  • Chỉ gồm các chữ cái tiếng Anh, các chữ số từ 0 đến 9 và kí tự gạch dưới "_"
  • Không bắt đầu bằng chữ số
  • Phân biệt chữ hoa và chữ thường

Ví dụ về tên biến hợp lệ: _name, ten, age1, MAX_VALUE

Ví dụ về tên biến không hợp lệ: 12abc, My country, m123&b, class, for

3. Gán đồng thời

Có thể gán nhiều giá trị đồng thời cho nhiều biến.

Cú pháp: biến1, biến2, ... = giá_trị1, giá_trị2, ...

Lưu ý: Số các biến bên trái bằng số các giá trị bên phải dấu "=".

Ví dụ:

a, b = 10, 3
a, b = a+b, a-b
Python Script
🧩

3. Luyện tập (Practice)

Bài tập thực hành

Bài tập 1:

Sau các lệnh dưới đây, các biến x, y nhận giá trị bao nhiêu?

x = 10
y = x**2 - 1
x = x/2 + y
Python Script

Bài tập 2:

a, b nhận giá trị gì sau các lệnh sau?

a, b = 2,3
a, b = a+b, a-b
Python Script

Bài tập 3:

Các tên biến nào dưới đây là hợp lệ trong Python? A. _name B. 12abc C. My country D. m123&b E. xyzABC

Thực hành tại máy:

Hãy thực hiện các lệnh gán sau và quan sát kết quả:

x = 1
123a = x + 1  # Lệnh này có lỗi gì?
Python Script

Bài tập 4:

Lệnh sau sẽ in ra kết quả gì?

print("đỏ rẻ mi " * 3 + "pha son la si đỏ " * 2)
Python Script
🌟

4. Vận dụng (Application)

Bài tập vận dụng

Bài tập 1:

Viết các lệnh để thực hiện việc đổi số giây ss cho trước sang số ngày, giờ, phút, giây, in kết quả ra màn hình.

Ví dụ: Nếu ss = 684 500 thì kết quả in ra như sau:

684 500 giây = 7 ngày 22 giờ 8 phút 20 giây.
Python Script

Gợi ý: Sử dụng các phép toán lấy thương nguyên, lấy số dư và các cách đổi sau:

  • 1 ngày = 86 400 giây
  • 1 giờ = 3 600 giây
  • 1 phút = 60 giây

Bài tập 2:

Hãy cho biết trước và sau khi thực hiện các lệnh sau, giá trị các biến x, y là bao nhiêu. Em có nhận xét gì về kết quả nhận được?

x, y = 10, 7
x, y = y, x
Python Script

Thảo luận:

  • Tại sao cần đặt tên biến có ý nghĩa?
  • Lợi ích của việc gán đồng thời trong Python là gì?
  • Khi nào nên dùng phép chia // và khi nào nên dùng phép chia /?

Ghi nhớ kiến thức 🎯

  • ✅ Biến là tên của vùng nhớ lưu trữ giá trị có thể thay đổi.
  • ✅ Lệnh gán: tên_biến = giá_trị
  • ✅ Quy tắc đặt tên: không bắt đầu bằng số, phân biệt hoa/thường.
  • ✅ Gán đồng thời: a, b = giá_trị1, giá_trị2
  • ✅ Các phép toán: +, -, *, /, // (nguyên), % (dư), ** (lũy thừa)

Chúc mừng bạn đã hoàn thành bài học này! 🏆