Chuyển đến nội dung chính
Mô-đun 1 · Bài học 3 trong tổng số 43/36 trong khóa học~10 min
Bài học theo mô-đun (3/4)

Điều kiện: if, elif, else

Điều kiện cho phép bạn chạy mã khác nhau dựa trên giá trị của một biểu thức boolean. Trong Python chúng được viết bằng if, elif (viết tắt của "else if") và else.

Hình thức cơ bản

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

Để ý:

  • sau điều kiện luôn có dấu hai chấm :;
  • khối "bên trong" if được xác định bằng thụt lề (4 dấu cách);
  • bạn không cần dấu ngoặc đơn xung quanh điều kiện (mặc dù chúng được cho phép).

Thêm chi nhánh với elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

Các nhánh elif được đánh giá theo thứ tự bạn viết và chúng dừng ở điều đầu tiên hóa ra là sự thật.

Biểu thức điều kiện (ternary)

Đối với những trường hợp đơn giản, bạn có thể viết mọi thứ trên một dòng:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

Nó đọc tự nhiên bằng tiếng Anh: "maggiorenne if eta >= 18 else trẻ vị thành niên".

Giá trị "trung thực"/"giả"

Một điều kiện không nhất thiết phải là một sự so sánh: bất kỳ giá trị nào cũng có thể được sử dụng như một điều kiện. Những điều này được coi là sai: False, None, 0, "", [], {}. Mọi thứ khác đều đúng.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

Biểu thức điều kiện (toán tử bậc ba)

Python hỗ trợ cấu trúc if-else một dòng nhỏ gọn, hoạt động như toán tử ba ngôi có trong các ngôn ngữ khác:

Python
result = "Even" if n % 2 == 0 else "Odd"

Điều này giúp mã của bạn ngắn gọn khi bạn chỉ cần gán giá trị dựa trên một điều kiện.

Hãy tự mình thử

tập thể dục#python.m1.l3.e1
Nỗ lực: 0Đang tải…

Cho `number = 15`, gán cho `sign` chuỗi 'positivo' nếu số đó > 0, 'zero' nếu nó là 0, 'negativo' nếu không. Đánh giá `dấu hiệu`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Ba nhánh: > 0, == 0, khác.

Giải pháp khả dụng sau 3 lần thử

Xem lại bài tập

tập thể dục#python.m1.l3.e2
Nỗ lực: 0Đang tải…

Cho `age = 20`, gán cho `category` chuỗi 'maggiorenne' hoặc 'minorenne' bằng cách sử dụng biểu thức ba ngôi (if/else trên một dòng).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Cú pháp: value_if_true nếu điều kiện khác value_if_false

Giải pháp khả dụng sau 3 lần thử

Thử thách bổ sung

tập thể dục#python.m1.l3.e3
Nỗ lực: 0Đang tải…

Write a conditional structure that checks if the variable `x` (initialized to `-5`) is greater than 0, less than 0, or equal to 0. Assign the string `'positive'`, `'negative'`, or `'zero'` to `sign` accordingly. Finally, evaluate `sign`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng if x > 0:, elif x < 0:, và else: để xử lý ba trường hợp.

Giải pháp khả dụng sau 3 lần thử