BÀI 1 – PHẦN 5

if / elif / else nâng cao

Mục tiêu

Sau bài này bạn có thể:

  1. Phân loại dữ liệu thành nhiều nhóm.
  2. Kết hợp nhiều điều kiện.
  3. Dùng and, or, not.
  4. Phân loại khách hàng.
  5. Phân loại hiệu quả chiến dịch quảng cáo.
  6. Viết chương trình có nhiều tầng điều kiện.

1. Ôn lại if / elif / else

Cấu trúc:

if điều_kiện_1:
    # thực hiện nếu điều kiện 1 đúng

elif điều_kiện_2:
    # thực hiện nếu điều kiện 2 đúng

else:
    # thực hiện nếu tất cả điều kiện trên đều sai

Ví dụ:

diem = 8

if diem >= 8:
    print("Giỏi")
elif diem >= 5:
    print("Đạt")
else:
    print("Chưa đạt")

Python kiểm tra từ trên xuống dưới.


2. Điều rất quan trọng: thứ tự điều kiện

Ví dụ:

roas = 6

if roas >= 3:
    print("Đạt")

elif roas >= 5:
    print("Cao")

Kết quả là:

Đạt

Tại sao?

Vì 6 >= 3 đã đúng nên Python dừng lại, không kiểm tra elif.

Muốn phân loại đúng phải viết:

if roas >= 5:
    print("ROAS cao")
elif roas >= 3:
    print("ROAS đạt")
else:
    print("ROAS thấp")

Quy tắc:

Điều kiện cụ thể/cao hơn thường đặt trước điều kiện rộng hơn.


3. Phân loại khách hàng

Giả sử chúng ta có:

tong_chi_tieu = 2500000

Ta muốn phân loại:

>= 5.000.000 → Khách hàng VIP
>= 2.000.000 → Khách hàng thân thiết
>= 500.000   → Khách hàng thường
< 500.000    → Khách hàng mới

Code:

tong_chi_tieu = 2500000

if tong_chi_tieu >= 5000000:
    print("Khách hàng VIP")
elif tong_chi_tieu >= 2000000:
    print("Khách hàng thân thiết")
elif tong_chi_tieu >= 500000:
    print("Khách hàng thường")
else:
    print("Khách hàng mới")

Kết quả:

Khách hàng thân thiết

4. Kết hợp nhiều điều kiện với and

Đây là phần rất quan trọng khi phân tích khách hàng.

Ví dụ:

Khách hàng VIP nếu chi tiêu >= 5 triệu VÀ số đơn >= 5.

tong_chi_tieu = 6000000
so_don = 6

if tong_chi_tieu >= 5000000 and so_don >= 5:
    print("Khách hàng VIP")
else:
    print("Chưa phải VIP")

and nghĩa là:

Tất cả điều kiện đều phải đúng.

Ví dụ:

6 triệu >= 5 triệu → Đúng
6 đơn >= 5 đơn    → Đúng

Đúng AND Đúng → Đúng

5. or – chỉ cần một điều kiện đúng

Ví dụ:

Khách hàng cần chăm sóc nếu đã mua hàng nhiều lần HOẶC đã chi tiêu nhiều.

tong_chi_tieu = 6000000
so_don = 2

if tong_chi_tieu >= 5000000 or so_don >= 5:
    print("Khách hàng cần chăm sóc đặc biệt")
else:
    print("Khách hàng thông thường")

Ở đây:

Chi tiêu >= 5 triệu → Đúng
Số đơn >= 5         → Sai

Nhưng:

Đúng OR Sai → Đúng

6. Bài toán Digital Marketing

Bây giờ chúng ta áp dụng vào quảng cáo.

Có:

chi_phi = 3000000
doanh_thu = 12000000
so_don = 80

Tính:

roas = doanh_thu / chi_phi

Sau đó phân loại:

ROAS >= 5 → Hiệu quả cao
ROAS >= 3 → Hiệu quả đạt
ROAS >= 2 → Cần theo dõi
ROAS < 2  → Hiệu quả thấp

Code:

chi_phi = 3000000
doanh_thu = 12000000
so_don = 80

roas = doanh_thu / chi_phi

if roas >= 5:
    print("Hiệu quả cao")
elif roas >= 3:
    print("Hiệu quả đạt")
elif roas >= 2:
    print("Cần theo dõi")
else:
    print("Hiệu quả thấp")

ROAS ở đây:

12.000.000 / 3.000.000 = 4

nên kết quả:

Hiệu quả đạt

7. Kết hợp ROAS + số đơn

Bây giờ nâng cấp.

Giả sử:

Chiến dịch được xem là có hiệu quả tốt khi ROAS >= 3 và số đơn >= 50.

if roas >= 3 and so_don >= 50:
    print("Chiến dịch đạt yêu cầu")
else:
    print("Cần phân tích thêm")

Đây là cách Python bắt đầu xử lý logic kinh doanh.


8. Phân loại chiến dịch theo nhiều tiêu chí

Ta có:

chi_phi = 3000000
doanh_thu = 12000000
so_don = 80

roas = doanh_thu / chi_phi

if roas >= 5 and so_don >= 100:
    print("Chiến dịch hiệu quả cao")

elif roas >= 3 and so_don >= 50:
    print("Chiến dịch đạt yêu cầu")

elif roas >= 2:
    print("Chiến dịch cần theo dõi")

else:
    print("Chiến dịch cần tối ưu")

Ở đây chúng ta đang dùng:

if
elif
and
else

kết hợp với nhau.


9. Bài tập thực hành – Phân loại khách hàng

Tạo file:

bai06.py

Viết chương trình cho phép nhập:

Tên khách hàng
Tổng số tiền đã mua
Số đơn hàng

Gợi ý:

ten = input("Nhập tên khách hàng: ")
tong_chi_tieu = int(input("Nhập tổng chi tiêu: "))
so_don = int(input("Nhập số đơn: "))

Sau đó phân loại:

Quy tắc

VIP:
Chi tiêu >= 5.000.000
VÀ số đơn >= 5

Thân thiết:
Chi tiêu >= 2.000.000
VÀ số đơn >= 3

Khách hàng thường:
Chi tiêu >= 500.000

Khách hàng mới:
Các trường hợp còn lại

Gợi ý code

if tong_chi_tieu >= 5000000 and so_don >= 5:
    loai_khach = "VIP"

elif tong_chi_tieu >= 2000000 and so_don >= 3:
    loai_khach = "Thân thiết"

elif tong_chi_tieu >= 500000:
    loai_khach = "Khách hàng thường"

else:
    loai_khach = "Khách hàng mới"

print("Khách hàng:", ten)
print("Phân loại:", loai_khach)

10. ⭐ Bài tập Digital Marketing

Tạo file:

bai07.py

Cho người dùng nhập:

Tên chiến dịch
Chi phí quảng cáo
Doanh thu
Số đơn

Python tự tính:

ROAS
Lợi nhuận
Giá trị trung bình mỗi đơn

Sau đó phân loại chiến dịch:

ROAS >= 5 và số đơn >= 100
→ "Hiệu quả cao"

ROAS >= 3 và số đơn >= 50
→ "Đạt yêu cầu"

ROAS >= 2
→ "Cần theo dõi"

Còn lại
→ "Cần tối ưu"

11. ⭐⭐ Bài tập thử thách

Đây là bài tôi muốn bạn tự suy nghĩ nhiều hơn, chưa cần tôi đưa toàn bộ code.

Dữ liệu nhập:

Tên chiến dịch
Chi phí
Doanh thu
Số đơn

Python tính:

Lợi nhuận
ROAS
Giá trị trung bình/đơn

Sau đó xuất:

========================
BÁO CÁO CHIẾN DỊCH
========================

Tên chiến dịch:
Chi phí:
Doanh thu:
Số đơn:
Lợi nhuận:
ROAS:
Giá trị TB/đơn:
Đánh giá:

Trong đó Đánh giá được quyết định bằng if / elif / else.


🧠 Một kỹ năng mới: tách “tính toán” và “ra quyết định”

Từ bây giờ, hãy tập viết chương trình theo 2 phần:

Phần 1 – Tính toán

doanh_thu = gia * so_luong
loi_nhuan = doanh_thu - chi_phi
roas = doanh_thu / chi_phi

Phần 2 – Ra quyết định

if roas >= 5:
    danh_gia = "Hiệu quả cao"
elif roas >= 3:
    danh_gia = "Đạt yêu cầu"
else:
    danh_gia = "Cần tối ưu"

Đây là tư duy rất quan trọng khi sau này chúng ta chuyển sang Excel/Pandas.


🎯 Bài bạn cần làm hôm nay

Không cần làm tất cả.

Làm 2 bài:

bai06.py

👉 Phân loại khách hàng.

bai07.py

👉 Phân loại chiến dịch Digital Marketing.

Be the first to comment

Leave a Reply

Your email address will not be published.


*