AI Cho Mọi Người

AI Cho Mọi Người

Điều kiện if-else

Phép so sánh logic

Python hỗ trợ các phép so sánh cơ bản giữa hai biến. Ví dụ chúng ta có thể tìm ra quan hệ lớn hơn, nhỏ hơn, hay khác nhau giữa hai biến số. Bảng sau mô tả các phép so sánh giữa hai biến.

Ví dụ cho hai biến ab kiểu int, chúng ta có thể so sánh hai biến như sau

Các phép so sánh trả về giá trị True hoặc False, nên khi đọc code, chúng ta nên đặt câu hỏi để dễ hình dung ý nghĩa hơn. Thực thi đoạn code trên ta được

Chúng ta có thể lưu kết quả của phép so sánh vào biến, và biến này có kiểu dữ liệu là boolean.

Chúng ta có thể sử dụng cặp ngoặc tròn () để giúp code dễ đọc hơn

Điều kiện if

Trong pyhon, một khối code (một hay nhiều dòng code) có thể được thực thi khi một điều kiện nào đó được thỏa mãn. Điều kiện if cho phép chúng ta ràng buộc ngữ cảnh để thực thi một khối code. Điều kiện if trong python có cú pháp như sau

Ở đây, condition có thể là một biểu thức so sánh phức tạp, nhưng giá trị của conditionTrue hoặc False.

Nếu condition có giá trị là True thì khối code bên trong if được thực thi. Nếu condition có giá trị là False thì khối code trong if được bỏ qua (không thực thi) và chương trình tiếp tục với khối code k2. Lưu ý là sau condition yêu cầu dấu 2 chấm : và khối code bên trong if phải thụt lề phù hợp. Sau đây là vài ví dụ dùng if

Thực thi đoạn code trên chúng ta có kết quả

Các bạn thế condition = False và chạy xem kết quả thế nào nhé.

Biến condition nhận giá trị từ một biểu thức so sánh

và kết quả thực thi đoạn code trên là

Điều kiện if-else

Điều kiện if-else cho phép chúng ta thực hiện những tác vụ khi điều kiện cho if không thỏa mãn. Cú pháp của if-else như sau

Nếu biến condition có giá trị là True thì khối code trong if được thực hiện. Nếu biến condition có giá trị là False thì khối code trong else được thực hiện.

Ví dụ chúng ta được yêu cầu viết một chương trình nhằm tính giá tiền được giảm cho khách mua hàng. Khi tổng số tiền mua hàng lớn hơn hoặc bằng 1000 thì khách hàng sẽ được giảm 10%, và dưới 1000 sẽ giảm 5%.

Kiểm tra chương trình trên với total_cost = 1200 chúng ta được

và với total_cost = 800 chúng ta được

Chúng ta có thể dùng hai từ khóa andor để xây dựng những biểu thức so sánh phức tạp hơn. Ví dụ, chúng ta được yêu cầu viết hàm check nhận một tham số đầu vào age là tuổi của một người. Nếu age nằm trong đoạn [18, 55] thì chương trình trả về True, nếu không thì chương trình trả về False.

Kiểm tra hàm check với các giá trị age khác nhau

Hàm check có thể cải tiến bằng cách loại bỏ việc gọi từ khóa return nhiều chỗ trong một hàm

Điều kiện if-elif-else

Cú pháp của điều kiện if-elif-else như sau

Khi biểu thức điều kiện if được thỏa mãn (expression1  là True), thì khối code trong if được thực hiện.

Trong trường hợp expression1  là False, thì biểu thức expression2 của elif được kiểm tra. Nếu expression2  là True, thì khối code trong elif được thực hiện. Cuối cùng, nếu expression2  là False, thì khối code trong else được thực hiện.

Ví dụ, chúng ta được yêu cầu viết hàm discount nhằm tính giá tiền được giảm cho khách mua hàng. Khi tổng số tiền mua hàng lớn hơn hoặc bằng 2000 thì khách hàng sẽ được giảm 20%. Khi tổng số tiền mua hàng nằm trong khoảng [1000, 2000) thì khách hàng sẽ được giảm 10%, và dưới 1000 sẽ giảm 5%.

Kiểm tra hàm discount với các input khác nhau. Xây dựng bộ test: nếu total_cost = 4000 thì discount sẽ là 800; nếu total_cost = 1600 thì discount sẽ là 160; nếu total_cost = 800 thì discount sẽ là 40. Bộ test này nhằm kiểm tra hàm chúng ta viết có chạy chính xác không.