--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

Python (13) - Kiểu dữ liệu Boolean

Bài trước: Python (12) - Xử lý trên chuỗi (tiếp)
-----

13: Kiểu dữ liệu Boolean

Ở bài học trước, bạn đã được làm quen với kiểu dữ liệu chuỗi. Bài học này, chúng ta tiếp tục tìm hiểu thêm một kiểu dữ liệu nữa trong Python. 

Kiểu dữ liệu boolean, hiểu đơn giản là kiểu dữ liệu “đúng hay sai”.

13.1 Boolean là gì?

Trong cuộc sống, bạn sẽ gặp những câu hỏi chỉ có hai cách trả lời duy nhất là: đúng hoặc sai.

Ví dụ: 

- Bạn là học sinh cấp 2, đúng không?

- Đúng

Hoặc,

- 2 lớn hơn 10, đúng không?

- Sai

Trong lập trình Python, để biểu diễn cho hai trạng thái này, chúng ta dùng kiểu dữ liệu Boolean (viết tắt là bool). Nó chỉ có hai giá trị:

- True (đúng)

- False (sai)

Lưu ý: Bạn phải viết hoa chữ cái đầu (True, False), nếu viết thường (true, false) chương trình sẽ báo lỗi.

13.2 Biểu thức so sánh

Thông thường, chúng ta không tự nhiên gán giá trị True hay False cho một biến, mà kết quả này sinh ra từ các phép so sánh.

Bảng sau liệt kê một số phép so sánh:

Phép toán

Ý nghĩa

Ví dụ

Kết quả

==

Bằng nhau

5 == 5

True

!=

Khác nhau

5 != 3

True

>

Lớn hơn

5 > 10

False

<

Nhỏ hơn

3 < 7

True

>=

Lớn hơn hoặc bằng

5 >= 5

True

<=

Nhỏ hơn hoặc bằng

4 <= 2

False

Ví dụ

Giả định, khi bạn đang lập trình cho hệ thống đăng nhập của trường học:


ten_dang_nhap = "nguyenvanteo"

mat_khau_dung = "123456"


# Người dùng nhập vào

user_input = "123456"


# Kiểm tra mật khẩu

ket_qua = (user_input == mat_khau_dung)


print("Mật khẩu chính xác?")

print(ket_qua) 

# Kết quả sẽ hiện ra True

13.3 Hàm bool() và các giá trị "rỗng"

Python có một quy tắc thú vị: Hầu như mọi giá trị đều có thể chuyển đổi sang giá trị True nếu nó có nội dung.

Ví dụ:

- bool("Hello") > True

- bool(100) > True

Bạn có thể lập trình, xuất ra giá trị để quan sát:

print(bool("Hello"))

# True

print(bool(100))

# True

Tuy nhiên, các giá trị sau đây sẽ được coi là False:

- Số 0

- Chuỗi rỗng ""

- Các danh sách rỗng [], (), {}

- Giá trị đặc biệt None

Ví dụ:

print(bool(None))

# False

print(bool(""))

#False

13.4 Bài tập và câu hỏi

Bài tập 13a. Kiểm tra độ tuổi đi xe máy

Viết chương trình yêu cầu nhập tuổi của bạn. In ra True nếu bạn đủ 18 tuổi trở lên để lái xe máy trên 50cc, ngược lại in ra False.

Đầu vào:

Ban co duoc lai xe tren 50cc khong?

Tuoi cua ban: 19

Kết quả mong đợi:

Ket qua: True

Bài tập 13b. Hệ thống đánh giá môn học

Yêu cầu người dùng nhập điểm môn Tin học. In ra kết quả kiểm tra xem điểm đó có lớn hơn hoặc bằng 5.0 hay không (để biết có đạt môn không).

Đầu vào:

Diem Tin-hoc cua ban: 6

Kết quả mong đợi:

Ket qua: Dat

Bài tập 13c. Kiểm tra tên đăng nhập

Viết chương trình yêu cầu nhập tên đăng nhập. Nếu người dùng để trống (không nhập gì cả), hãy dùng hàm bool() để in ra False. Nếu có nhập tên, in ra True.

Đầu vào:

Ten: teo

Kết quả mong đợi:

Ket qua: True

Bài tập 13d. So sánh chiều cao

Nhập vào chiều cao của hai bạn An và Bình. Hãy in ra kết quả so sánh xem An có cao hơn Bình hay không.

Đầu vào:

Chieu cao cua An: 1.50

Chieu cao cua Binh: 1.55

Kết quả mong đợi:

An cao hon Binh: False

Câu hỏi 13.1 Giá trị nào sau đây là kiểu Boolean hợp lệ trong Python?

A. true

B. "True"

C. True

D. TRUE

Câu hỏi 13.2 Kết quả của biểu thức print(10 > 9) là gì?

A. 10 > 9

B. True

C. False

D. Lỗi chương trình

Câu hỏi 13.3 Kết quả của bool("") (chuỗi rỗng) là gì?

A. True

B. False

C. None

D. Lỗi

Câu hỏi 13.4 Phép toán nào dùng để kiểm tra xem hai giá trị có “khác” nhau hay không?

A. =

B. ==

C. !=

D. <>

Câu hỏi 13.5 Đoạn mã sau in ra nội dung gì?

x = 5

y = "5"

print(x == y)

A. True

B. False

C. 5 == 5

D. Lỗi

13. The Boolean Data Type

In the previous lesson, you were introduced to the String data type. In this lesson, we will explore another fundamental data type in Python.

The Boolean data type, simply put, represents a value that is either "True" or "False."

13.1 What is a Boolean?

In real life, you often encounter questions that have only two possible answers: Yes or No (True or False).

Examples:

- Are you a middle school student? > True

- Is 2 greater than 10? > False

In Python programming, we use the Boolean data type (abbreviated as bool) to represent these two states. It has only two values:

- True

- False

Note: Python is case-sensitive. You must capitalize the first letter (True, False). Using lowercase (true, false) will result in a NameError.

13.2 Comparison Operators

Usually, we don't manually assign True or False to a variable. Instead, these values are generated as the result of comparison expressions.

The following table lists the common comparison operators:

Operator

Meaning

Example

Result

==

Equal to

5 == 5

True

!=

Not equal to

5 != 3

True

>

Greater than

5 > 10

False

<

Less than

3 < 7

True

>=

Greater than or equal to

5 >= 5

True

<=

Less than or equal to

4 <= 2

False

Example

Imagine you are coding a login system for a school:

username = "nguyenvanteo"

correct_password = "123456"

# User input

user_input = "123456"

# Check if the password is correct

is_correct = (user_input == correct_password)

print("Is the password correct?")

print(is_correct) 

# Output: True

13.3 The bool() Function and "Truthy/Falsy" Values

Python has an interesting rule: almost any value can be evaluated as True if it has some content.

Examples:

- bool("Hello") → True

- bool(100) → True

However, the following values are always evaluated as False:

- The number 0

- An empty string ""

- Empty collections: [], (), {}

- The special value None

print(bool(None)) 

# False

print(bool(""))   

# False

13.4 Exercises and Quiz

Exercise 13a: Motorcycle Age Check

Write a program that asks for your age. Print True if you are 18 or older (eligible to ride a motorcycle over 50cc), otherwise print False.

Input:

Your age: 19

Expected Result: 

Result: True

Exercise 13b: Grading System

Ask the user to input their Computer Science score. Print the result of checking if the score is greater than or equal to 5.0.

Input: 

Your score: 6

Expected Result: 

Result: True

Exercise 13c: Username Check

Write a program that asks for a username. If the user leaves it blank, use the bool() function to print False. If they enter a name, print True.

Input: 

Your name: teo

Expected Result: 

Result: True

Exercise 13d: Height Comparison

Input the heights of two students, An and Binh. Print the result of whether An is taller than Binh.

Input: 

An: 1.50, Binh: 1.55

Expected Result: 

An is taller than Binh: False

Quiz

13.1 Which of the following is a valid Boolean literal in Python?

A. true

B. "True"

C. True

D. TRUE

13.2 What is the output of print(10 > 9)?

A. 10 > 9

B. True

C. False

D. Error

13.3 What is the result of bool("") (empty string)?

A. True

B. False

C. None

D. Error

13.4 Which operator is used to check if two values are "not equal"?

A. =

B. ==

C. !=

D. <>

13.5 What does the following code print?

x = 5

y = "5"

print(x == y)


A. True

B. False

C. 5 == 5

D. Error

-----
Bài sau: