Lompati ke konten utama
Modul 1 · Pelajaran 3 dari 43/36 dalam kursus~10 min
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

Python
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

Python
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:

Python
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.

Python
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:

Python
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

Latihan#python.m1.l3.e1
Upaya: 0Memuat…

Diberikan `angka = 15`, tetapkan ke `tanda` string 'positivo' jika bilangannya > 0, 'nol' jika 0, 'negativo' jika sebaliknya. Evaluasi `tanda`.

Memuat editor…
Tunjukkan petunjuk

Tiga cabang: > 0, == 0, yang lain.

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#python.m1.l3.e2
Upaya: 0Memuat…

Mengingat `usia = 20`, tetapkan ke `kategori` string 'maggiorenne' atau 'minorenne' menggunakan ekspresi ternary (if/else pada satu baris).

Memuat editor…
Tunjukkan petunjuk

Sintaks: value_if_true jika kondisi lain value_if_false

Solusi tersedia setelah 3 upaya

Tantangan tambahan

Latihan#python.m1.l3.e3
Upaya: 0Memuat…

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`.

Memuat editor…
Tunjukkan petunjuk

Gunakan if x > 0:, elif x < 0:, dan else: untuk menangani ketiga kasus tersebut.

Solusi tersedia setelah 3 upaya