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
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
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:
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.
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:
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ử
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`.
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
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).
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
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`.
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ử