Alur kode kontrol dengan logika kondisional (jika, elif, lainnya)
Tip
Lihat tab Teks dan gambar untuk detail selengkapnya!
Sekarang setelah program Anda dapat mengevaluasi kondisi, Anda dapat menggunakannya untuk memandu jalur yang dapat diambil kode Anda. Python menggunakan ifpernyataan , elif, dan else untuk memandu alur program Anda berdasarkan hasil True atau False. Pendekatan ini disebut logika bersyarkat.
Pernyataan if
Pernyataan if menjalankan blok kode hanya ketika kondisi adalah True. Kode di dalam harus diindentasi—Python menggunakan indentasi untuk mengetahui baris mana yang termasuk dalam blok:
score = 85
if score >= 90:
print("Congratulations!")
print("Grade: A")
print("Program complete.")
Jika score kurang dari 90, kode inden di dalam if blok dilewati, dan program berlanjut dengan baris berikutnya setelah blok.
Aturan indentasi dan titik dua
Python menggunakan aturan ketat untuk mengelompokkan blok kode bersama-sama:
Titik dua (
:): Anda harus menempatkan titik dua di akhir pernyataan kondisional. Itu memberi tahu Python bahwa baris inden berikutnya milik blok bersyarah itu.Indentasi: Setiap baris dalam blok yang sama harus menggunakan indentasi yang sama. Gunakan empat spasi (atau Tab) secara konsisten.
Untuk menyelesaikan blok kode, Anda harus membatalkan indentasi baris berikutnya setelah blok. Garis yang tidak terindentasi ini memberi sinyal ke Python bahwa blok telah berakhir. Dalam contoh di atas, baris print("Program complete.") tidak terindentasi, sehingga berjalan terlepas dari kondisinya if .
Menambahkan jalur alternatif dengan jalur lain
Gunakan else untuk menjalankan blok kode yang berbeda saat kondisinya adalah False:
score = 75
if score >= 90:
print("Grade: A")
else:
print("Grade: B or lower")
Kondisi penautan dengan elif
Ketika Anda memiliki lebih dari dua jalur yang mungkin, Anda dapat menggunakan elif (singkatan dari "jika lain") untuk memeriksa kondisi tambahan.
Kemenangan pertandingan pertama
Python memeriksa setiap kondisi secara berurutan. Ketika menemukan kondisi pertama True , ia menjalankan blok itu dan melewati sisanya. Jika tidak ada kondisi , Truemaka akan menjalankan else blok (jika ada).
score = 85
if score >= 90:
print("Grade: A")
elif score >= 80: # Python stops here! 85 >= 80 is True.
print("Grade: B")
elif score >= 70: # Skipped entirely, even though 85 >= 70 is also true.
print("Grade: C")
else: # Skipped entirely.
print("Grade: D or lower")
Output:
Grade: B
Karena Python keluar dari rantai setelah kondisi pertamaTrue, pastikan untuk memesan kondisi Anda dari yang paling spesifik hingga paling tidak spesifik. Jika tidak, Anda mungkin tidak pernah mencapai kondisi yang Anda harapkan.