Kursus Python / Menggunakan variabel, input, dan print untuk data pengeluaran

Dalam Python, variabel merujuk ke nilai, input() membaca teks, dan print() menampilkan hasil. Masukan yang terlihat seperti angka tetap berupa string sampai Anda mengubahnya menjadi tipe numerik, misalnya dengan int().

Bedakan penugasan nilai dan komentar

Operator = menghubungkan hasil di sebelah kanan dengan nama di sebelah kiri; ia bukan pemeriksaan persamaan matematika. Jika nama yang sama diberi nilai lagi, pemakaian berikutnya menggunakan nilai baru. Pilih nama yang menunjukkan peran, seperti amount untuk jumlah, dan hindari menimpa nama fungsi bawaan seperti print, input, atau list.

amount = 3500
amount = amount + 500
print(amount)  # Display the calculated result

Contoh tersebut menampilkan 4000. Pada baris kedua, Python membaca nilai lama amount, menambahkan 500, lalu menghubungkan hasilnya kembali dengan nama yang sama. Teks setelah # pada contoh adalah komentar yang menjelaskan kode dan tidak dijalankan. Komentar lebih berguna jika menjelaskan alasan, satuan, atau batasan daripada sekadar mengulang instruksi.

Jalankan contoh masukan dan keluaran lengkap

Gunakan Python 3.12 atau lebih baru di lingkungan proyek yang sudah dipilih. Simpan kode berikut sebagai input_expense.py dengan encoding UTF-8. Tidak diperlukan paket tambahan. Buka terminal pada folder berkas dan jalankan python input_expense.py, atau gunakan jalur interpreter proyek secara langsung.

name = input("name: ").strip()
amount_text = input("amount: ").strip()
amount = int(amount_text)
print(f"{name}: {amount:,} KRW")

Saat muncul name:, ketik lunch lalu tekan Enter. Saat muncul amount:, ketik 8000 lalu tekan Enter. Keluaran standar program, tanpa karakter yang Anda ketik, adalah:

name: amount: lunch: 8,000 KRW

Blok tersebut bukan rekaman lengkap layar terminal. input() menampilkan prompt tanpa menambahkan baris baru, sedangkan terminal interaktif biasanya memperlihatkan masukan Anda dan pergantian baris saat Enter ditekan. Karena itu, di terminal biasa nama dan jumlah yang diketik tampak setelah masing-masing pertanyaan, lalu baris hasil muncul tersendiri. Dalam keluaran yang direkam tanpa echo masukan, kedua prompt terlihat berdampingan seperti di atas.

Telusuri perubahan teks menjadi angka

Pemanggilan pertama membaca nama pengeluaran dan .strip() menghapus spasi atau karakter whitespace di kedua ujungnya. Spasi di tengah nama tetap ada. amount_text pada baris kedua masih berupa string. Baru setelah int(amount_text), variabel amount merujuk ke bilangan bulat. Referensi fungsi bawaan Python menjelaskan input() dan konversi dengan int().

F-string diawali huruf f dan menyisipkan nilai ekspresi di dalam kurung kurawal. Pada {amount:,}, bagian :, memformat angka dengan koma sebagai pemisah ribuan, sehingga 8000 tampil sebagai 8,000. Aturan ini bukan format rupiah otomatis: teks KRW pada contoh menandai won Korea dan tidak melakukan konversi mata uang. Spesifikasi format Python menjelaskan pemisah angka, sedangkan metode string strip() menjelaskan pembersihan tepi teks.

Contoh ini hanya membaca, mengubah tipe, dan menampilkan nilai. Ia belum memeriksa nama kosong atau menolak jumlah negatif. Bilangan negatif dapat dikonversi oleh int(), tetapi apakah jumlah tersebut boleh dipakai sebagai pengeluaran adalah aturan aplikasi yang harus ditambahkan secara terpisah.

Uji masukan berbeda dan kenali kegagalannya

  1. Jalankan ulang dan masukkan 9000 sebagai jumlah. Hasil harus memuat 9,000 KRW.
  2. Masukkan 8000.5. String dengan titik desimal ini tidak dapat langsung diubah oleh int(), sehingga program berakhir dengan ValueError.
  3. Coba jumlah kosong atau abc. Keduanya juga menghasilkan ValueError. Menekan Enter untuk baris kosong berbeda dari mengakhiri aliran masukan.
  4. Jalankan ulang dengan lunch dan 8000 untuk memulihkan masukan valid dan pastikan hasil kembali 8,000 KRW.

Jangan memakai koma pemisah ribuan pada masukan contoh ini: ketik 8000, bukan 8,000. Format koma ditambahkan saat keluaran dan tidak berarti int() menerima format tersebut. Spasi di ujung masukan dibuang oleh strip().

Jika program tampak berhenti, periksa apakah ia sedang menunggu masukan. Contoh ini tidak menyediakan percobaan ulang otomatis; setelah konversi gagal, Anda perlu menjalankan program lagi. Jika aliran masukan berakhir sebelum baris yang diminta tersedia, input() dapat menghasilkan EOFError. Kebijakan meminta ulang memerlukan penanganan kesalahan dan perulangan yang sengaja dirancang, bukan anggapan bahwa semua teks dapat diubah menjadi angka.