Menu
CoddyTech

Toán tử logic (AND, OR)

Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 17 trên 78.

Các toán tử so sánh giúp bạn kiểm tra một điều kiện, nhưng nếu bạn cần kiểm tra nhiều điều kiện cùng lúc thì sao? Các toán tử logic cho phép bạn kết hợp các điều kiện và tạo biểu thức phức tạp hơn.

Toán tử AND (&&) trả về TRUE chỉ khi cả hai điều kiện đều đúng:

age <- 25
has_license <- TRUE

can_drive <- age >= 18 && has_license  # TRUE

Nếu một trong hai điều kiện là sai, toàn bộ biểu thức sẽ trở thành sai. Hãy nghĩ rằng cần tất cả điều kiện đều thỏa mãn.

Toán tử OR (||) trả về TRUE khi ít nhất một điều kiện đúng:

is_weekend <- TRUE
is_holiday <- FALSE

day_off <- is_weekend || is_holiday  # TRUE

Toán tử OR chỉ trả về false khi cả hai điều kiện đều false. Đây là bảng tham khảo nhanh:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

Bạn có thể kết hợp nhiều điều kiện trong một biểu thức bằng cách dùng các toán tử này cùng nhau, tạo ra các phép kiểm tra logic mạnh mẽ cho chương trình của mình.

challenge icon

Thử thách

Dễ

Xác định điều kiện đủ tiêu chuẩn cho các hoạt động khác nhau bằng toán tử (operator) AND (&&) và OR (||).

Bạn được cung cấp các biến (variable) sau:

age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

Dùng toán tử logic để tạo các biến sau:

  1. Tạo biến có tên can_enter_club lưu giá trị TRUE nếu người đó từ 18 tuổi trở lên VÀ là thành viên
  2. Tạo biến có tên can_watch_movie lưu giá trị TRUE nếu người đó từ 18 tuổi trở lên HOẶC có sự cho phép
  3. Tạo biến có tên can_attend_event lưu giá trị TRUE nếu người đó có vé VÀ là thành viên
  4. Tạo biến có tên gets_discount lưu giá trị TRUE nếu người đó là thành viên HOẶC dưới 18 tuổi (tuổi nhỏ hơn 18)
  5. Tạo biến có tên vip_access lưu giá trị TRUE nếu người đó từ 18 tuổi trở lên VÀ là thành viên VÀ có vé

Dùng hàm print() để hiển thị can_enter_club, can_watch_movie, can_attend_event, gets_discount và vip_access theo đúng thứ tự đó.

Tự làm thử

# Các biến đã cho
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

# TODO: Viết code của bạn bên dưới
# Tạo các biến (variable) sau bằng toán tử logic (operator) (&&, ||):
# 1. can_enter_club: TRUE nếu age >= 18 và is_member
# 2. can_watch_movie: TRUE nếu age >= 18 hoặc has_permission
# 3. can_attend_event: TRUE nếu has_ticket và is_member
# 4. gets_discount: TRUE nếu is_member hoặc age < 18
# 5. vip_access: TRUE nếu age >= 18, is_member và has_ticket



# In kết quả theo thứ tự
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch R online