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 # TRUENế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 # TRUEToán tử OR chỉ trả về false khi cả hai điều kiện đều false. Đây là bảng tham khảo nhanh:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
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.
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 <- TRUEDùng toán tử logic để tạo các biến sau:
- Tạo biến có tên
can_enter_clublưu giá trịTRUEnếu người đó từ 18 tuổi trở lên VÀ là thành viên - Tạo biến có tên
can_watch_movielưu giá trịTRUEnếu người đó từ 18 tuổi trở lên HOẶC có sự cho phép - Tạo biến có tên
can_attend_eventlưu giá trịTRUEnếu người đó có vé VÀ là thành viên - Tạo biến có tên
gets_discountlưu giá trịTRUEnếu người đó là thành viên HOẶC dưới 18 tuổi (tuổi nhỏ hơn 18) - Tạo biến có tên
vip_accesslưu giá trịTRUEnế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)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
4Toán tử phần 2
Toán tử logic (AND, OR)Toán tử logic phần 2 (NOT)Ôn tập: logic đơn giảnLogic vector hóa phần 1Logic vector hóa phần 22Biến và kiểu dữ liệu
Kiểu dữ liệu sốKiểu dữ liệu số nguyênKiểu dữ liệu ký tựKiểu dữ liệu logicKiểm tra kiểu dữ liệuQuy tắc đặt tênGiá trị thiếu: NATóm tắt: tạo biến8Vòng lặp
Vòng lặp forVòng lặp whileBreakNext (continue)Ôn tập: giai thừaTạo dãy (seq, :)Vòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyên và phép moduloToán tử gánÔn tập: phép tính đơn giảnToán tử so sánh6Nhập xuất cơ bản
In đầu raDùng cat để in đầu raĐầu ra với biếnĐọc đầu vào bằng readline()Cơ bản về chuyển đổi kiểuÔn tập: máy tính tuổiÔn tập: đúng hay sai9Hàm
Khai báo hàmĐối số hàmGiá trị trả vềÔn tập: hàm SigmaÔn tập: hàm xác thựcGiá trị tham số mặc địnhTự luyện tập: Trình biên dịch R online