# Câu Lệnh Rẽ Nhánh Trong Python Trong lập trình, câu lệnh rẽ nhánh giúp chúng ta quyết định thực hiện những hành động khác nhau dựa trên điều kiện nào đó. Trong Python, chúng ta sử dụng các từ khóa `if`, `elif`, và `else` để thực hiện điều này. Hãy cùng ôn lại chúng nhé!! ## 1. Câu Lệnh `if` Câu lệnh `if` kiểm tra xem một điều kiện có đúng hay không. Nếu đúng, nó sẽ thực hiện đoạn mã bên trong. **Cú pháp:** ```python if điều_kiện: # Thực hiện đoạn mã này nếu điều kiện đúng ``` **Ví dụ:** ```python tuoi = 10 if tuoi > 8: print("Bạn lớn hơn 8 tuổi!") ``` ## 2. Câu Lệnh `else` Câu lệnh `else` đi kèm với `if` để thực hiện đoạn mã khi điều kiện trong `if` sai. **Cú pháp:** ```python if điều_kiện: # Thực hiện đoạn mã này nếu điều kiện đúng else: # Thực hiện đoạn mã này nếu điều kiện sai ``` **Ví dụ:** ```python tuoi = 6 if tuoi > 8: print("Bạn lớn hơn 8 tuổi!") else: print("Bạn không lớn hơn 8 tuổi!") ``` ## 3. Câu Lệnh `elif` Câu lệnh `elif` (viết tắt của "else if") cho phép kiểm tra nhiều điều kiện. Nếu điều kiện `if` đầu tiên sai, nó sẽ kiểm tra các điều kiện `elif` tiếp theo. **Cú pháp:** ```python if điều_kiện_1: # Thực hiện đoạn mã này nếu điều kiện 1 đúng elif điều_kiện_2: # Thực hiện đoạn mã này nếu điều kiện 1 sai và điều kiện 2 đúng else: # Thực hiện đoạn mã này nếu tất cả các điều kiện trên đều sai ``` **Ví dụ:** ```python tuoi = 8 if tuoi > 10: print("Bạn lớn hơn 10 tuổi!") elif tuoi == 8: print("Bạn 8 tuổi!") else: print("Bạn nhỏ hơn 10 tuổi và không phải 8 tuổi!") ``` ## 4. Sử Dụng Kết Hợp Các Câu Lệnh Chúng ta có thể kết hợp nhiều câu lệnh `if`, `elif`, và `else` để tạo ra các đoạn mã phức tạp hơn. **Ví dụ:** ```python tuoi = 12 if tuoi < 10: print("Bạn nhỏ hơn 10 tuổi!") elif tuoi == 10: print("Bạn 10 tuổi!") elif tuoi == 12: print("Bạn 12 tuổi!") else: print("Bạn lớn hơn 10 tuổi!") ``` ## Tóm Tắt - **`if`**: Kiểm tra một điều kiện, thực hiện đoạn mã nếu điều kiện đúng. - **`else`**: Thực hiện đoạn mã nếu điều kiện trong `if` sai. - **`elif`**: Kiểm tra điều kiện khác nếu điều kiện trước đó sai. # Hướng dẫn giải bài tập ### **Lưu ý cho phần bài tập:** 1. **Dành thời gian suy nghĩ**: - Dành ít nhất **10 phút** để tự tìm cách làm cho mỗi bài trước khi đọc hướng dẫn. 2. **Phương pháp khi đọc hướng dẫn**: - **Bước 1**: Đọc phần **Tóm tắt đề** và suy nghĩ để làm bài trong 10 phút. - **Bước 2**: Nếu chưa giải được, đọc tiếp phần **Hướng làm bài** và suy nghĩ thêm 10 phút. - **Bước 3**: Nếu vẫn chưa giải được, đọc phần **Thuật toán** và suy nghĩ thêm 10 phút. - **Bước 4**: Cuối cùng, dành 5-10 phút để đọc phần **Code lời giải** và hiểu từng dòng code. ## [Cánh diều - CHIAKEO - Chia kẹo](https://lqdoj.edu.vn/problem/cdl2p7) ### Tóm tắt đề - **Nhập Số kẹo (n)**: n chiếc kẹo - **Nhập Số em bé (m)**: m em bé - **Câu hỏi**: Có chia đều được hết n cái kẹo cho m em bé không? --- ### Hướng làm bài: Ta sử dụng câu lệnh `if` để kiểm tra xem n cái kẹo khi chia cho m em bé có thì có hết số kẹo không. Nếu có thì in ra "Co", ngược lại in ra "Khong". --- ### Thuật toán: 1. Nhập số n (số cái kẹo) và m (số em bé). 2. Sử dụng câu lệnh `if` để kiểm tra: - Nếu n chia hết cho m (tức là n % m == 0),tức là chia hết số kẹo, thì ta in ra "Co". - Ngược lại, in ra "Khong". --- ### Code lời giải: ```python # Bước 1: Nhập số n và m n, m = map(int, input().split()) # Bước 2: Kiểm tra và in kết quả if n % m == 0: print("Co") else: print("Khong") ``` **Ví dụ:** - Nếu n = 10 và m = 2, n chia hết cho m nên in ra "Co". - Nếu n = 10 và m = 3, n không chia hết cho m nên in ra "Khong". ## [Cánh diều - TUOIBAUCU - Tuổi bầu cử (b1-T77)](https://lqdoj.edu.vn/problem/cdl2p6) ### Tóm tắt đề: Nhập vào "age" là số tuổi nguyên của một người. - Nếu số tuổi lớn hơn hoặc bằng 18, in ra "Ban da du tuoi bau cu". - Ngược lại, in ra "Ban chua den tuoi bau cu". --- ### Hướng làm bài: Chúng ta sẽ sử dụng câu lệnh `if` để kiểm tra xem số tuổi (`age`) có lớn hơn hoặc bằng 18 hay không. - Nếu `age` lớn hơn hoặc bằng 18, in ra "Ban da du tuoi bau cu". - Ngược lại, in ra "Ban chua den tuoi bau cu". --- ### Thuật toán: 1. Nhập số nguyên "age" là số tuổi. 2. Sử dụng câu lệnh `if` để kiểm tra: - Nếu `age >= 18`, in ra "Ban da du tuoi bau cu". - Ngược lại, in ra "Ban chua den tuoi bau cu". --- ### Code lời giải: ```python # Bước 1: Nhập số tuổi age = int(input("Nhập số tuổi của bạn: ")) # Bước 2: Kiểm tra và in kết quả if age >= 18: print("Ban da du tuoi bau cu") else: print("Ban chua den tuoi bau cu") ``` ## [Cánh diều - MAX3 - Tìm số lớn nhất trong 3 số](https://lqdoj.edu.vn/problem/cdl2p9) ### Tóm tắt đề: Nhập vào 3 số nguyên `a`, `b`, `c`. - In ra số lớn nhất trong 3 số. - (Sử dụng các lệnh `if`, `elif`, `else`) --- ### Hướng làm bài: **Ý tưởng**: Để một số là số lớn nhất trong 3 số thì nó phải lớn hơn 2 số còn lại. - Ta lần lượt kiểm tra xem từng số có lớn hơn 2 số còn lại không. Ví dụ: - Để kiểm tra xem `a` có phải lớn nhất không, ta sẽ kiểm tra liệu `a` có lớn hơn `b` và `c` không. - Tương tự để kiểm tra xem `b` có phải lớn nhất không, ta sẽ kiểm tra xem `b` có lớn hơn `a` và `c` không. - Nếu `a` và `b` không phải số lớn nhất thì `c` chính là số lớn nhất. --- ### Thuật toán: 1. Nhập vào 3 số nguyên `a`, `b`, `c`. 2. Sử dụng các câu lệnh `if`, `elif`, `else` để so sánh các số: - Nếu `a` lớn hơn `b` và `c`, in ra `a` là số lớn nhất. - Nếu không, kiểm tra tiếp nếu `b` lớn hơn `a` và `c`, in ra `b` là số lớn nhất. - Nếu cả `a` và `b` đều không lớn nhất, thì `c` chính là số lớn nhất. --- ### Code lời giải: ```python # Bước 1: Nhập vào 3 số nguyên a, b, c a = int(input()) b = int(input()) c = int(input()) # Bước 2: Kiểm tra và tìm số lớn nhất if a >= b and a >= c: print(a) elif b >= a and b >= c: print(b) else: print(c) ``` --- ## [Đánh giá sức khoẻ - BMI](https://lqdoj.edu.vn/problem/cdl2p11) ### Tóm tắt đề: Nhập vào cân nặng `w` (kg) và chiều cao `h` (m) của một người, sau đó tính chỉ số BMI (Body Mass Index) theo công thức: $$ \text{BMI} = \frac{w}{h^2} $$ Dựa vào chỉ số BMI, đánh giá tình trạng sức khoẻ của người đó theo bảng đánh giá sau: - BMI < 18.5 ⇒ Thiếu cân. - 18.5 ≤ BMI ≤ 22.9 ⇒ Bình thường. - BMI > 22.9 ⇒ Thừa cân. --- ### Hướng làm bài: **Ý tưởng**: Chúng ta sẽ sử dụng công thức BMI để tính chỉ số khối cơ thể từ cân nặng và chiều cao, sau đó sử dụng các điều kiện để đánh giá tình trạng sức khoẻ. 1. Nhập cân nặng `w` và chiều cao `h`. 2. Tính BMI theo công thức: $$ \text{BMI} = \frac{w}{h^2} $$ 3. Sử dụng câu lệnh `if` để đánh giá BMI: - Nếu BMI < 18.5, in ra "Thieu can". - Nếu BMI nằm trong khoảng từ 18.5 đến 22.9, in ra "Binh thuong". - Nếu BMI > 22.9, in ra "Thua can". --- ### Thuật toán: 1. Nhập số thực `w` là cân nặng và `h` là chiều cao. 2. Tính chỉ số BMI: $$ \text{BMI} = \frac{w}{h^2} $$ 3. Sử dụng câu lệnh `if` để kiểm tra và in kết quả: - Nếu BMI < 18.5, in ra "Thieu can". - Nếu 18.5 ≤ BMI ≤ 22.9, in ra "Binh thuong". - Nếu BMI > 22.9, in ra "Thua can". --- ### Code lời giải: ```python # Bước 1: Nhập cân nặng và chiều cao w = float(input()) h = float(input()) # Bước 2: Tính chỉ số BMI bmi = w / (h ** 2) # Bước 3: Kiểm tra và in kết quả if bmi < 18.5: print("Thieu can") elif 18.5 <= bmi <= 22.9: print("Binh thuong") else: print("Thua can") ``` ## Bài tập ở nhà: [Điểm trung bình môn](https://lqdoj.edu.vn/problem/ifforwhile06) ### Tóm tắt đề: Cho điểm Toán `a`, Văn `b`, Anh `c` của Khôi. Tính điểm trung bình và đưa ra đánh giá hạnh kiểm dựa trên điểm trung bình. ### Hướng làm bài: **Ý tưởng**: Tính điểm trung bình của Khôi với các môn Toán và Văn có hệ số 2, sau đó dựa vào điểm trung bình để đánh giá hạnh kiểm. 1. Nhập các điểm `a`, `b`, `c`. 2. Tính điểm trung bình `dtb` theo công thức: $$ \text{dtb} = \frac{2 \cdot a + 2 \cdot b + c}{5} $$ 3. Sử dụng câu lệnh `if` để kiểm tra và in ra hạnh kiểm tương ứng với điểm trung bình. --- ### Thuật toán: 1. Nhập số `a`, `b`, `c` là điểm Toán, Văn, Anh của Khôi. 2. Tính điểm trung bình `dtb`: - Điểm trung bình `dtb = (2 * a + 2 * b + c) / 5`. 3. Kiểm tra các điều kiện: - Nếu `dtb >= 8`, in ra "gioi". - Nếu `dtb >= 6.5`, in ra "kha banh". - Nếu `dtb >= 5.0`, in ra "trung binh". - Nếu `dtb < 5.0`, in ra "yeu". --- ### Code lời giải: ```python Đây là bài tập tự luyện ở nhà. Các bạn đọc hướng dẫn rồi tự mình giải bài nhé. ``` ## Bài tập ở nhà: [Cánh diều - SODUNGGIUA – Số đứng giữa](https://lqdoj.edu.vn/problem/cdl2p8) ### Tóm tắt đề: Nhập ba số thực `a`, `b`, `c` và in ra số có giá trị ở giữa, tức là số không là lớn nhất cũng không phải là nhỏ nhất trong ba số. --- ### Hướng làm bài: 1. Nhập và lưu ba số thực `a`, `b`, `c`. 2. Sử dụng câu lệnh `if` để so sánh từng số để tìm ra số ở giữa. --- ### Thuật toán: 1. **Nhập dữ liệu**: Nhập ba số thực `a`, `b`, `c` từ người dùng. 2. **So sánh và in ra số ở giữa**: - Sử dụng các câu lệnh `if`, `elif` để kiểm tra từng trường hợp: - Nếu `b` nằm giữa `a` và `c` (tức là `a < b < c` hoặc `c < b < a`), in ra `b`. - Nếu `a` nằm giữa `b` và `c` (tức là `b < a < c` hoặc `c < a < b`), in ra `a`. - Nếu `c` nằm giữa `a` và `b` (tức là `a < c < b` hoặc `b < c < a`), in ra `c`. 3. **Kết quả**: In ra số thực là số ở giữa trong ba số đã nhập. --- ### Code lời giải: ```python Đây là bài tập tự luyện ở nhà. Các bạn đọc hướng dẫn rồi tự mình giải bài nhé. ``` # Thắc mắc và hỗ trợ khi làm bài Nếu trong quá trình giải bài các bạn gặp khó khăn, có thể liên hệ với mình qua Zalo hoặc Facebook dưới đây. Hãy nhớ áp dụng phương pháp được hướng dẫn trước khi nhờ giúp đỡ. - Zalo: ***0914167544*** (Lê Đức Phúc Long) - Facebook: m.me/phuclong.leduc