Pelajaran modul (3/4)
Kondisional: if, elif, else
Kondisi memungkinkan Anda menjalankan kode berbeda berdasarkan
nilai ekspresi boolean. Dalam Python ditulis dengan if, elif
(singkatan dari "else if") dan else.
Bentuk dasar
eta = 18
if eta >= 18:
messaggio = "maggiorenne"
else:
messaggio = "minorenne"Melihat:
- setelah kondisi selalu ada titik dua
:; - blok "di dalam" if diidentifikasi dengan lekukan (4 spasi);
- Anda tidak memerlukan tanda kurung di sekitar kondisi (walaupun diperbolehkan).
Lebih banyak cabang dengan elif
voto = 7
if voto >= 9:
giudizio = "ottimo"
elif voto >= 7:
giudizio = "buono"
elif voto >= 6:
giudizio = "sufficiente"
else:
giudizio = "insufficiente"Cabang elif dievaluasi sesuai urutan penulisannya dan pemberhentiannya
yang pertama ternyata benar.
Ekspresi kondisional (terner)
Untuk kasus sederhana, Anda dapat menulis semuanya dalam satu baris:
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"Bunyinya secara alami dalam bahasa Inggris: "maggiorenne if eta >= 18 else anak di bawah umur".
Nilai-nilai yang "benar" / "salah".
Suatu kondisi tidak harus berupa perbandingan: nilai apa pun bisa
digunakan sebagai syarat. Ini dianggap salah: False, None, 0,
"", [], {}. Segala sesuatu yang lain benar.
nome = "Ada"
if nome:
saluto = f"Ciao {nome}!"
else:
saluto = "Ciao sconosciuto!"Ekspresi kondisional (operator ternary)
Python mendukung konstruksi if-else satu baris yang ringkas, yang bertindak sebagai operator ternary yang ditemukan dalam bahasa lain:
result = "Even" if n % 2 == 0 else "Odd"Ini membuat kode Anda tetap ringkas ketika Anda hanya perlu menetapkan nilai berdasarkan suatu kondisi.
Cobalah sendiri
Diberikan `angka = 15`, tetapkan ke `tanda` string 'positivo' jika bilangannya > 0, 'nol' jika 0, 'negativo' jika sebaliknya. Evaluasi `tanda`.
Tunjukkan petunjuk
Tiga cabang: > 0, == 0, yang lain.
Solusi tersedia setelah 3 upaya
Tinjau latihan
Mengingat `usia = 20`, tetapkan ke `kategori` string 'maggiorenne' atau 'minorenne' menggunakan ekspresi ternary (if/else pada satu baris).
Tunjukkan petunjuk
Sintaks: value_if_true jika kondisi lain value_if_false
Solusi tersedia setelah 3 upaya
Tantangan tambahan
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`.
Tunjukkan petunjuk
Gunakan if x > 0:, elif x < 0:, dan else: untuk menangani ketiga kasus tersebut.
Solusi tersedia setelah 3 upaya