Trang chủ Python Lập trình cơ bản Python bài 24: Câu lệnh rẽ nhánh trong Python

Python bài 24: Câu lệnh rẽ nhánh trong Python

6936
0

Trong bài trước, Type đã giới thiệu đến bạn Kiểu dữ liệu boolean trong Python. Tiếp tục bài học ngày hôm nay là câu lệnh rẽ nhánh If else rất quan trọng.

Nội dung:

if…elif…else là các câu lệnh có điều kiện, giải pháp cho bạn một khả năng đưa ra những quyết định cần thiết khi bạn muốn thực thi mã dựa trên một điều kiện cụ thể. Câu lệnh if…elif…else được sử dụng trong Python giúp tự động hóa quá trình ra quyết định đó.

Điều kiện If

Điều kiện if được coi là câu lệnh đơn giản nhất trong ba câu lệnh điều kiện và If đưa ra quyết định dựa trên việc điều kiện đó có đúng hay không. Nếu điều kiện đúng, nó sẽ thực thi biểu thức thụt lề. Nếu điều kiện sai, nó sẽ bỏ qua việc thực thi biểu thức thụt lề.

Ví dụ:

if condition:
    expression

Giả sử bạn có một biến z bằng 4. Nếu giá trị là ‘chẵn’, bạn sẽ in ra z là ‘chẵn’. Bạn sẽ sử dụng phép toán modulo 2, toán tử này sẽ trả về 0 nếu z là ‘chẵn’. Khi bạn chạy đoạn code dưới đây, Python sẽ kiểm tra xem điều kiện đó có đúng hay không. Nếu đúng thì đoạn mã thụt lề tương ứng sẽ được thực thi.

Ví dụ:

z = 4

if z % 2 == 0:  # True
    print("z is even")

Kết quả:

z is even

Nhiều dòng bên trong câu lệnh if

Hoàn toàn có thể có nhiều dòng hơn bên trong câu lệnh if, như trong ví dụ dưới đây. Tập lệnh sẽ trả về hai dòng khi bạn chạy nó. Nếu điều kiện không được đáp ứng thì biểu thức thụt lề sẽ không được thực thi.

Ví du:

z = 4
if z % 2 == 0:
    print("checking" + str(z))
    print("z is even")

Kết quả:

checking 4
z is even

Ví dụ về câu lệnh if sai

Hãy thay đổi giá trị của biến z thành số lẻ. Bạn sẽ nhận thấy rằng code dưới sẽ không in ra bất cứ thứ gì vì điều kiện sẽ không được thông qua, tức là sai.

Ví dụ:

z = 5
if z % 2 == 0:  # False
    print("checking " + str(z))
    print("z is even")

Điều kiện if-else

Điều kiện if-else bổ sung thêm một bước trong quá trình ra quyết định so với câu lệnh if đơn giản. Phần đầu của câu lệnh if-else hoạt động tương tự như câu lệnh if đơn giản; tuy nhiên, nếu điều kiện sai, thay vì không in ra gì, biểu thức thụt lề bên dưới else sẽ được thực thi.

Ví dụ:

if condition:
    expression
else:
    expression

Tiếp tục ví dụ trước của chúng ta, nếu bạn muốn in ‘z lẻ’ khi điều kiện if trả về sai thì như thế nào? Trong trường hợp này, bạn chỉ cần thêm một điều kiện khác, đó là điều kiện else. Nếu bạn chạy nó với z bằng 5 thì điều kiện tức là không đúng, biểu thức thụt lề cho câu lệnh else sẽ được thực thi.

Ví dụ:

z = 5
if z % 2 == 0:
    print("z is even")
else:
    print("z is odd")

Kết quả:

z is odd

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

Điều kiện phức tạp nhất trong số này là điều kiện if-elif-else. Khi gặp tình huống có nhiều điều kiện, bạn có thể đặt nhiều điều kiện elif cần thiết giữa điều kiện if và điều kiện else.

Ví dụ:

if condition:
    expression
elif condition:
    expression
else:
    expression

Dưới đây là ví dụ về nơi bạn muốn thực thi các điều kiện khác nhau cho các số chia hết cho 2 và 3. Ở đây, vì z bằng 3 nên điều kiện đầu tiên là sai, do đó nó chuyển sang điều kiện tiếp theo. Điều kiện tiếp theo là đúng. Do đó, câu lệnh thụt lề tương ứng được sẽ thực thi.

z = 3
if z % 2 == 0:
    print("z is divisible by 2")
elif z % 3 == 0:
    print("z is divisible by 3")
else:
    print("z is neither divisible by 2 nor by 3")

Kết quả:

z is divisible by 3

Trong ví dụ dưới đây, bạn xác định hai biến room và area. Sau đó, bạn xây dựng các điều kiện if-elif-elseif-else tương ứng cho room và area.

Trong điều kiện đầu tiên, bạn kiểm tra xem room có phải là nhà bếp hay không. Trường hơp thứ 2, elif kiểm tra room có phải là phòng ngủ hay không. Các trường hợp còn lại, thì bạn đang nhìn mông lung đâu đó. Tùy thuộc vào giá trị của room, điều kiện thỏa mãn sẽ được thực thi.

Tương tự, đối với biến area, bạn viết điều kiện ifelse rồi kiểm tra xem diện tích có lớn hơn 15 hay không.

# Define variables
room = "bed"
area = 14.0

# if-elif-else construct for room
if room == "kit":
    print("Looking around in the kitchen.")
elif room == "bed":
    print("Looking around in the bedroom.")
else:
    print("Looking around elsewhere.")

# if-elif-else construct for area
if area > 15:
    print("Big place!")
else:
    print("Pretty small.")

Khi chúng ta chạy đoạn code trên, nó sẽ tạo ra kết quả như sau:

Looking around in the bedroom. Pretty small.

Mời bạn thực hành thêm về Python tại đây:

=>>> Chia sẻ 98 bài tập & code mẫu học Python cơ bản đến nâng cao năm 2022

=>>>50 bài tập Python cơ bản cho người mới bắt đầu

Nếu bạn quan tâm tới AI và công nghệ thì mời bạn ghé trang diễn đàn của Type nhé.

Type tổng hợp

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.