Menu
CoddyTech

Toán tử logic phần 2 (NOT)

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 18 trên 78.

Toán tử NOT (!) đảo giá trị logic thành giá trị đối lập. Nó đổi TRUE thành FALSE và FALSE thành TRUE.

is_raining <- TRUE
!is_raining  # FALSE

is_closed <- FALSE
!is_closed   # TRUE

Toán tử này hữu ích khi bạn muốn kiểm tra xem điều gì đó có không đúng hay không. Ví dụ, thay vì kiểm tra xem người dùng đã đăng nhập hay chưa, bạn có thể cần kiểm tra xem họ chưa đăng nhập:

logged_in <- FALSE
if (!logged_in) {
  # Hiển thị lời nhắc đăng nhập
}

Bạn có thể kết hợp NOT với các toán tử AND và OR để tạo điều kiện phức tạp hơn:

has_ticket <- TRUE
is_vip <- FALSE

# Có thể vào bằng lối thường nếu có vé VÀ KHÔNG phải VIP
regular_entry <- has_ticket && !is_vip  # TRUE

Dưới đây là cách toán tử NOT chuyển đổi các giá trị logic:

A!A
TRUEFALSE
FALSETRUE
challenge icon

Thử thách

Dễ

Dùng toán tử NOT (!) để đảo giá trị logic và kết hợp với các toán tử logic khác.

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

is_raining <- TRUE
has_umbrella <- FALSE
is_weekend <- TRUE
has_homework <- TRUE
is_tired <- FALSE

Dùng toán tử NOT cùng với các toán tử AND và OR để tạo các biến sau:

  1. Tạo biến có tên stay_dry để lưu giá trị ngược với is_raining
  2. Tạo biến có tên will_get_wet để lưu TRUE nếu trời mưa AND người đó NOT có ô
  3. Tạo biến có tên can_relax để lưu TRUE nếu đó là cuối tuần AND người đó NOT có bài tập về nhà
  4. Tạo biến có tên should_go_out để lưu TRUE nếu trời NOT mưa OR người đó có ô
  5. Tạo biến có tên productive_day để lưu TRUE nếu người đó NOT mệt AND đó NOT là cuối tuần

Dùng hàm print() để hiển thị stay_dry, will_get_wet, can_relax, should_go_out và productive_day theo đúng thứ tự đó.

Tự làm thử

# Các biến đã cho
is_raining <- TRUE
has_umbrella <- FALSE
is_weekend <- TRUE
has_homework <- TRUE
is_tired <- FALSE

# TODO: Viết code của bạn bên dưới
# Dùng toán tử NOT (!) cùng với các toán tử AND (&) và OR (|)
# để tạo các biến cần thiết

# 1. stay_dry: giá trị ngược với is_raining

# 2. will_get_wet: TRUE nếu trời mưa AND không có ô

# 3. can_relax: TRUE nếu là cuối tuần AND không có bài tập về nhà

# 4. should_go_out: TRUE nếu trời không mưa OR có ô

# 5. productive_day: TRUE nếu không mệt AND không phải cuối tuần

# In các kết quả theo thứ tự
print(stay_dry)
print(will_get_wet)
print(can_relax)
print(should_go_out)
print(productive_day)
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