BÀI 2: VÒNG LẶP for

Đây là bước rất quan trọng.

Cho đến bây giờ Python của bạn chỉ xử lý:

1 khách hàng
1 chiến dịch

Nhưng thực tế Digital Marketing có thể có:

100 khách hàng
500 đơn hàng
1.000 chiến dịch
10.000 dòng Excel

Chúng ta không thể viết:

khach_hang_1khach_hang_2khach_hang_3...khach_hang_1000

Thay vào đó dùng:

for

Ví dụ:

for i in range(5):    print("Khách hàng", i + 1)

Python sẽ tự chạy:

Khách hàng 1
Khách hàng 2
Khách hàng 3
Khách hàng 4
Khách hàng 5

🎯 Bài tiếp theo tôi sẽ dạy bạn:

for → range() → lặp qua danh sách → xử lý nhiều khách hàng → xử lý nhiều chiến dịch.

Sau đó chúng ta sẽ tiến tới List, rồi bắt đầu đặt nền móng cho việc đọc và xử lý Excel bằng Python.

bạn dạy tiếp đi ạ

Tôi nộp bài tập Python về vòng lặp for. Bài 1: Chưa làm Bài 2: Chưa làm Bài 3: Chưa làm Hãy chấm từng bài, chỉ ra lỗi và giải thích ngắn gọn.

Tôi đã nhận bài nộp của bạn. Hiện tại, cả 3 bài đều ghi “Chưa làm”, nên tôi chưa có code để kiểm tra hoặc chấm khả năng vận dụng của bạn.

1. Kết quả chấm bài

Bài tậpKết quảĐiểm
Bài 1 – In số từ 1 đến 10Chưa nộp codeChưa chấm
Bài 2 – Phân loại ROASChưa nộp codeChưa chấm
Bài 3 – Đánh giá 3 chiến dịchChưa nộp codeChưa chấm

Điểm hiện tại: Chưa đủ dữ liệu để chấm, không có nghĩa là bạn làm sai.

2. Tôi hướng dẫn bạn làm từng bài

Bài 1 – Vòng lặp cơ bản

Yêu cầu: In các số từ 1 đến 10.

Gợi ý:

for i in range(1, 11):    print(i)

Bạn hãy tự gõ vào file bai10.py và chạy thử.

Bài 2 – Phân loại ROAS

Yêu cầu: Phân loại các giá trị 1.5, 2.5, 3.0, 4.5, 6.0.

Gợi ý cấu trúc:

for roas in [1.5, 2.5, 3.0, 4.5, 6.0]:    if roas >= 5:        # Hiệu quả cao    elif roas >= 3:        # Đạt yêu cầu    else:        # Cần xem xét

Bạn cần thay các dòng chú thích bằng lệnh print() phù hợp.

Bài 3 – Ba chiến dịch quảng cáo

Yêu cầu: Nhập chi phí và doanh thu của 3 chiến dịch, sau đó tính ROAS cho từng chiến dịch.

Gợi ý:

for i in range(1, 4):    print("Chiến dịch", i)    chi_phi = int(input("Nhập chi phí: "))    doanh_thu = int(input("Nhập doanh thu: "))    # Tính ROAS và in kết quả

Bạn cần bổ sung công thức tính ROAS và lệnh in kết quả.

Lưu ý: Nếu chi phí bằng 0, chương trình cần xử lý riêng để tránh lỗi chia cho 0.

3. Cách học tiếp theo

Tôi khuyên bạn chưa cần làm cả 3 bài cùng lúc. Hãy làm Bài 1 trước để hiểu for và range().

Sau đó gửi code hoặc ảnh màn hình VS Code cho tôi. Tôi sẽ chấm, sửa lỗi cụ thể và giải thích ngắn gọn như một giảng viên hướng dẫn thực hành.

Quảng cáo

Tùy chọn quảng cáo

bai10.pyCodebai11.pyCodebai12.pyCode

Tôi đã nhận được 3 file Python bạn nộp: bai10.py, bai11.py và bai12.py. Tôi sẽ chấm từng bài theo đúng yêu cầu đã giao, tập trung vào vòng lặp for, điều kiện phân loại ROAS và xử lý 3 chiến dịch quảng cáo.

1. Chấm bài bai10.py – Vòng lặp cơ bản

Code của bạn:

bai10.py

for i in range(10):    print(i + 1)

Kết quả: Đúng hoàn toàn – 10/10 điểm

Giải thích:

  • range(10) tạo 10 lượt lặp, với i nhận giá trị từ 0 đến 9.
  • i + 1 giúp in ra từ 1 đến 10.
  • print() nằm bên trong vòng lặp nên được thực hiện 10 lần.

Bạn đã hiểu đúng cách sử dụng for và range().

2. Chấm bài bai11.py – Phân loại ROAS

Code của bạn đã có đủ vòng lặp, điều kiện và lệnh in kết quả.

bai11.py

Tuy nhiên, có một lỗi logic nhỏ ở điều kiện đầu tiên:

if roas > 5:    danh_gia = "Hiệu quả cao"

Đề bài yêu cầu ROAS từ 5 trở lên, nghĩa là phải dùng >= 5, không phải > 5.

Ví dụ, nếu ROAS bằng đúng 5.0, code hiện tại sẽ phân loại sai thành "Đạt yêu cầu".

Cách sửa

for roas in [1.5, 2.5, 3.0, 4.5, 6.0]:    if roas >= 5:        danh_gia = "Hiệu quả cao"    elif roas >= 3:        danh_gia = "Đạt yêu cầu"    else:        danh_gia = "Cần xem xét"    print("ROAS:", roas, "|", danh_gia)

Điểm: 9/10

Bạn đã nắm được cách kết hợp for với if / elif / else. Chỉ cần sửa toán tử so sánh là hoàn thành.

3. Chấm bài bai12.py – Nhập và đánh giá 3 chiến dịch

Tôi đã đọc toàn bộ file bạn gửi. Code hiện tại:

bai12.py

Bạn đã làm đúng các phần:

  • Dùng for i in range(1, 4) để lặp 3 chiến dịch.
  • Nhập chi phí quảng cáo và doanh thu.
  • Kiểm tra chi phí có nhỏ hơn hoặc bằng 0 hay không.
  • Dùng continue để bỏ qua chiến dịch có chi phí không hợp lệ.
  • Tính và làm tròn ROAS bằng round(roas, 2).

Phần còn thiếu

Đề bài yêu cầu tính ROAS và in kết quả. Bạn đã làm được phần này. Tuy nhiên, chương trình chưa kiểm tra doanh thu, chưa phân loại hiệu quả chiến dịch và chưa thông báo khi chi phí không hợp lệ rồi chuyển sang chiến dịch tiếp theo một cách đầy đủ.

Điểm: 8/10

Để hoàn thiện, bạn hãy sửa file bai12.py thành:

for i in range(1, 4):    print("\nChiến dịch", i)    chi_phi = int(input("Nhập chi phí quảng cáo: "))    doanh_thu = int(input("Nhập doanh thu: "))    if chi_phi <= 0:        print("Chi phí không hợp lệ")        continue    if doanh_thu < 0:        print("Doanh thu không hợp lệ")        continue    roas = doanh_thu / chi_phi    if roas >= 5:        danh_gia = "Hiệu quả cao"    elif roas >= 3:        danh_gia = "Đạt yêu cầu"    else:        danh_gia = "Cần xem xét"    print("ROAS:", round(roas, 2))    print("Đánh giá:", danh_gia)

Ví dụ kết quả mong đợi

Nếu bạn nhập:

Chiến dịchChi phíDoanh thu
12.000.0004.000.000
22.000.0008.000.000
33.000.00018.000.000

Chương trình sẽ lần lượt đánh giá:

Chiến dịch 1
ROAS: 2.0
Đánh giá: Cần xem xét

Chiến dịch 2
ROAS: 4.0
Đánh giá: Đạt yêu cầu

Chiến dịch 3
ROAS: 6.0
Đánh giá: Hiệu quả cao

4. Tổng kết điểm bài tập

BàiNội dungĐiểm
bai10.pyVòng lặp cơ bản10/10
bai11.pyPhân loại ROAS9/10
bai12.pyXử lý 3 chiến dịch8/10
Tổng27/30 = 9/10

Bạn đang tiến bộ tốt. Đặc biệt, bạn đã tự sử dụng được continue — một lệnh giúp bỏ qua lượt lặp hiện tại và chuyển sang lượt tiếp theo.

Be the first to comment

Leave a Reply

Your email address will not be published.


*