Pernyataan if bersyarat dengan Python. Sintaks, blok else/elif, contoh

Dalam proses belajar memprogram, seringkali perlu membuat program yang tidak begitu mudah untuk diterapkan dalam kehidupan nyata. Lagi pula, dari waktu ke waktu Anda harus mengikuti instruksi hanya dalam kondisi tertentu. Untuk dapat menerapkan ini dalam program, semua bahasa memiliki pernyataan kontrol. Dengan bantuan mereka, Anda dapat mengontrol aliran eksekusi kode, membuat loop atau melakukan tindakan tertentu hanya jika kondisi tertentu benar.

Hari ini kita akan berbicara tentang pernyataan if, yang memeriksa situasi saat ini untuk kondisi tertentu, dan berdasarkan informasi ini, membuat keputusan tentang tindakan lebih lanjut.

Jenis Pernyataan Kontrol

Secara umum, if bukan satu-satunya pernyataan yang mengontrol aliran suatu program. Serta dia sendiri dapat menjadi komponen dari rantai operator yang lebih besar.

Ada juga loop dan pernyataan yang mengontrol proses eksekusinya. Hari ini kita hanya akan berbicara tentang operator bersyarat dan rantai di mana ia dapat berpartisipasi.

Dalam pemrograman, ada yang namanya percabangan. Justru ini yang berarti urutan perintah yang dijalankan hanya jika kondisi tertentu benar. Kriteria itu sendiri mungkin berbeda:

  1. Kesetaraan suatu variabel dengan nilai tertentu.
  2. Melakukan tindakan tertentu.
  3. Status aplikasi (diciutkan atau tidak).

Spektrumnya bisa jauh lebih besar. Pernyataan bersyarat datang dalam beberapa jenis:

  1. Dengan satu cabang. Artinya, satu pemeriksaan dilakukan, sebagai akibatnya tindakan tertentu dilakukan.
  2. Dengan dua atau lebih cabang. Jika kriteria 1 benar, maka periksa kriteria 2. Jika benar, maka periksa 3. Jadi, lakukan pemeriksaan sebanyak yang diperlukan.
  3. Dengan beberapa syarat. Semuanya sederhana di sini. Penerjemah memeriksa beberapa kondisi atau salah satunya.

jika pernyataan

Struktur pernyataan if serupa di semua bahasa. Namun, dalam Python, sintaksnya agak berbeda dari yang lain:

jika kondisi:

    <входящее выражение 1>

    <входящее выражение 2>

<не входящее выражение>

Pertama, operator itu sendiri dideklarasikan, setelah itu kondisi di mana ia mulai bekerja ditulis. Kondisinya bisa benar atau salah.

Ini diikuti oleh blok dengan perintah. Jika segera mengikuti kriteria yang harus dipenuhi, maka urutan perintah yang sesuai disebut blok if. Anda dapat menggunakan sejumlah perintah di dalamnya.

Perhatian! Lekukan di dalam semua perintah blok if harus berukuran sama. Batas blok ditentukan oleh indentasi. 

Menurut dokumentasi bahasa, lekukan adalah 4 spasi. 

Bagaimana cara kerja operator ini? Ketika penafsir melihat kata if, ia segera memeriksa ekspresi terhadap kriteria yang ditentukan pengguna. Jika ini masalahnya, maka dia mulai mencari instruksi dan mengikutinya. Jika tidak, semua perintah dari blok ini akan dilewati.

Jika pernyataan setelah kondisi tidak menjorok, itu tidak diperlakukan sebagai blok if. Dalam situasi kita, baris ini adalah . Oleh karena itu, terlepas dari hasil pemeriksaan, baris ini akan dieksekusi.

Berikut adalah cuplikan kode untuk contoh cara kerja operator ini.

angka = int(input(“Masukkan angka : “))

jika angka > 10:

    print(“Bilangan lebih besar dari 10”)

Program ini meminta pengguna untuk memberikan nomor dan memeriksa apakah lebih besar dari 10. Jika demikian, ia mengembalikan informasi yang sesuai. Misalnya, jika pengguna memasukkan angka 5, maka program akan berakhir, dan hanya itu.

Tetapi jika Anda menentukan angka 100, maka juru bahasa akan mengerti bahwa itu lebih dari sepuluh, dan melaporkannya.

Perhatian! Dalam kasus kami, jika kondisinya salah, program berhenti, karena tidak ada perintah yang diberikan setelah instruksi.

Hanya ada satu perintah dalam kode di atas. Tetapi ada lebih banyak dari mereka. Satu-satunya persyaratan adalah indentasi.

Sekarang mari kita menganalisis urutan perintah ini.

bilangan = int(input(“Tulis bilangan : “))

jika angka > 10:

    print("baris pertama")

    print("baris kedua")

    print("baris ketiga")

print("Baris yang dieksekusi, berapa pun angka yang dimasukkan")

print("Akhiri aplikasi")

Coba tebak apa outputnya jika Anda memasukkan nilai 2, 5, 10, 15, 50.

Seperti yang Anda lihat, jika nomor yang dimasukkan oleh pengguna lebih dari sepuluh, maka tiga baris adalah output + satu dengan teks "Jalankan setiap kali ..." dan satu "Akhir", dan jika kurang dari sepuluh, maka hanya satu, dengan teks yang berbeda. Hanya baris 3,4,5 yang akan dieksekusi jika benar. Namun, dua baris terakhir akan ditulis berapa pun nomor yang ditentukan pengguna.

Jika Anda menggunakan pernyataan langsung di konsol, hasilnya akan berbeda. Penerjemah segera mengaktifkan mode multi-baris jika, setelah menentukan kriteria verifikasi, tekan Enter.

Misalkan kita telah menulis urutan perintah berikut.

>>>

>>> n = 100

>>> jika n > 10:

...

Setelah itu, kita akan melihat bahwa >>> telah diganti dengan elipsis. Ini berarti bahwa mode input multiline diaktifkan. Dengan kata sederhana, jika Anda menekan Enter, Anda akan dipindahkan ke input tahap kedua dari instruksi. 

Dan untuk keluar dari blok ini, Anda perlu menambahkan satu konstruksi lagi ke blok if.

>>>

>>> n = 100

>>> jika n > 10:

… print(«nv 10»)

...

Jika kondisi tidak benar, program berakhir. Ini adalah masalah, karena pengguna mungkin menganggap program seperti itu telah ditutup karena kegagalan. Oleh karena itu, perlu untuk memberikan umpan balik kepada pengguna. Untuk ini, tautan digunakan jika ada.

operator ekspresi jika ada

Operator ini memungkinkan Anda untuk mengimplementasikan tautan: jika ekspresi cocok dengan aturan tertentu, lakukan tindakan ini, dan jika tidak, lakukan yang lain. Artinya, memungkinkan Anda untuk membagi aliran program menjadi dua jalan. Sintaksnya intuitif:

jika kondisi:

    # jika blok

    pernyataan 1

    pernyataan 2

    dan sebagainya

lain:

    # blok lain

    pernyataan 3

    pernyataan 4

    dan seterusnya:

Mari kita jelaskan cara kerja operator ini. Pertama, pernyataan standar dieksekusi di utas ya, memeriksa apakah itu cocok kondisi "benar atau salah". Tindakan lebih lanjut tergantung pada hasil pemeriksaan. Jika benar, maka instruksi yang berada dalam urutan instruksi yang mengikuti kondisi tersebut akan dieksekusi secara langsung. ya, jika itu salah, maka lain

Dengan cara ini Anda dapat menangani kesalahan. Misalnya, pengguna perlu memasukkan radius. Jelas, itu hanya bisa berupa angka dengan tanda tambah, atau nilai nol. Jika kurang dari 0, maka Anda perlu mengeluarkan pesan yang meminta Anda untuk memasukkan angka positif. 

Berikut adalah kode yang mengimplementasikan tugas ini. Tapi ada satu kesalahan di sini. Coba tebak yang mana. 

radius = int(input(“Masukkan radius: “))

jika jari-jari >= 0:

    print(“Lingkar = “, 2 * 3.14 * jari-jari)

    print(“Luas = “, 3.14 * radius ** 2)

    lain:

        print("Masukkan bilangan positif")

Kesalahan ketidakcocokan indentasi. Jika Lain harus ditempatkan tanpa mereka atau dengan jumlah yang sama (tergantung apakah mereka bersarang atau tidak).

Mari kita berikan kasus penggunaan lain (di mana semuanya akan benar dengan penyelarasan operator) – elemen aplikasi yang memeriksa kata sandi.

kata sandi = input(“Masukkan kata sandi: “)

jika kata sandi == «ssst»:

    cetak("Selamat datang")

lain:

    print("Akses ditolak")

Instruksi ini melompati orang lebih jauh jika kata sandinya adalah ssst. Jika ada kombinasi lain dari huruf dan angka, maka akan muncul pesan “Access ditolak”.

pernyataan-ekspresi if-elif-else

Hanya jika beberapa kondisi tidak benar, pernyataan yang ada di blok dieksekusi. lain. Ekspresi ini bekerja seperti ini.

jika kondisi_1:

    # jika blok

    pernyataan

    pernyataan

    lebih banyak pernyataan

kondisi elif_2:

    # blok elif pertama

    pernyataan

    pernyataan

    lebih banyak pernyataan

kondisi elif_3:

    # blok elif kedua

    pernyataan

    pernyataan

    lebih banyak pernyataan

...

lain

    pernyataan

    pernyataan

    lebih banyak pernyataan

Anda dapat menentukan sejumlah kondisi tambahan.

Pernyataan bersarang

Cara lain untuk menerapkan beberapa kondisi adalah dengan menyisipkan pemeriksaan kondisi tambahan di blok if.

Operator if di dalam blok kondisi lain

gre_score = int(input(“Masukkan batas kredit Anda saat ini”))

per_grad = int(input(“Masukkan nilai kredit Anda: “))

jika per_grad > 70:

    # luar jika blok

        jika gre_score > 150:

            # dalam jika blok

    print(“Selamat, Anda telah menerima pinjaman”)

lain:

    print(“Maaf, Anda tidak memenuhi syarat untuk mendapatkan pinjaman”)

Program ini melakukan pemeriksaan peringkat kredit. Jika kurang dari 70, program melaporkan bahwa pengguna tidak memenuhi syarat untuk kredit. Jika lebih besar, pemeriksaan kedua dilakukan untuk melihat apakah batas kredit saat ini lebih besar dari 150. Jika ya, maka akan ditampilkan pesan bahwa pinjaman telah dikeluarkan.

Jika kedua nilai salah, maka akan ditampilkan pesan bahwa pengguna tidak memiliki kemungkinan untuk mendapatkan pinjaman. 

Sekarang mari kita ulangi program itu sedikit.

gre_score = int(input(“Masukkan batas saat ini: “))

per_grad = int(input(“Masukkan nilai kredit: “))

jika per_grad > 70:

    jika gre_score > 150:

        print(“Selamat, Anda telah menerima pinjaman”)

    lain:

        print("Batas kredit Anda rendah")

lain:

    print("Maaf, Anda tidak berhak mendapatkan kredit")

Kode itu sendiri sangat mirip, tetapi bersarang if juga menyediakan algoritma jika kondisi darinya ternyata salah. Artinya, batas kartu tidak mencukupi, tetapi riwayat kredit bagus, pesan "Anda memiliki peringkat kredit rendah" ditampilkan.

pernyataan if-else di dalam suatu kondisi lain

Mari kita buat program lain yang menentukan nilai siswa berdasarkan nilai ujian.

skor = int(input(“Masukkan Nilai Anda : “))

jika skor >= 90:

    print(“Bagus! Nilai Anda A”)

lain:

    jika skor >= 80:

print("Bagus! Nilaimu B")

    lain:

jika skor >= 70:

    print("Bagus! Nilaimu C")

lain:

    jika skor >= 60:

print(“Nilai Anda D. Materi ini perlu diulang.”)

    lain:

print("Anda gagal dalam ujian")

Aplikasi pertama-tama memeriksa untuk melihat apakah skor lebih besar dari atau sama dengan 90. Jika ya, maka akan mengembalikan nilai A. Jika kondisi ini salah, maka pemeriksaan selanjutnya dilakukan. Kami melihat bahwa algoritmanya hampir sama pada pandangan pertama. Jadi alih-alih memeriksa ke dalam lain lebih baik menggunakan kombinasi jika-elif-lain.

Jadi operatornya if melakukan fungsi yang sangat penting – memastikan bahwa potongan kode tertentu dijalankan hanya jika diperlukan. Tidak mungkin membayangkan pemrograman tanpanya, karena bahkan algoritma yang paling sederhana pun memerlukan garpu seperti "jika Anda pergi ke kiri, Anda akan menemukannya, dan jika Anda pergi ke kanan, maka Anda perlu melakukan ini dan itu."

Tinggalkan Balasan