Menu

print() dan input() di Python: membaca input pengguna dan menampilkan output

Cara kerja fungsi print() dan input() di Python, plus pemisah, karakter akhir baris, dan cara mengubah input pengguna menjadi angka.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Dua fungsi yang membuat programmu interaktif

Kebanyakan program Python di awal mengikuti bentuk yang sama: minta sesuatu dari pengguna dengan input(), olah jawabannya, lalu laporkan kembali dengan print(). Kedua fungsi bawaan inilah cara kodemu berkomunikasi dengan dunia luar.

Mari bahas satu per satu.

Dalam bentuk paling sederhana, print() menulis satu baris teks ke terminal:

Itu menghasilkan kata hello diikuti newline. Newline itulah yang memisahkan satu pemanggilan print dari yang berikutnya di layar.

Kamu bisa memberikan beberapa nilai dalam satu pemanggilan, dan Python akan menaruh spasi di antaranya:

Output:

Name: Ada Age: 36

Nilainya tidak harus string. print memanggil str() pada setiap argumen, jadi kamu bisa mencampur tipe dengan bebas:

Mengubah pemisah

Kalau spasi di antara nilai bukan yang kamu inginkan, pakai sep:

Mengubah akhir baris

Secara default print menambahkan newline di akhir. Pakai end untuk mengubahnya, misalnya agar output tetap di baris yang sama:

end="" adalah trik untuk menyusun satu baris sepotong demi sepotong.

Secara default, print menulis ke stdout (standard output), tempat biasa output terminal muncul. Kamu bisa mengalihkannya ke stderr, sebuah file, atau objek mirip file lainnya dengan argumen file:

Untuk output yang diformat, seperti dua angka desimal, kolom yang diberi padding, atau koma pada angka besar, pakai f-string di dalam print:

input(): membaca dari pengguna

input(prompt) menghentikan program, menampilkan prompt ke pengguna, lalu menunggu. Apa pun yang diketik pengguna, sampai mereka menekan enter, dikembalikan sebagai string.

Ada tiga hal tentang input yang sering menjebak pemula:

Selalu mengembalikan string

Walaupun pengguna mengetik 42, yang kamu terima adalah string "42". Kamu tidak bisa langsung melakukan aritmetika dengannya:

Itulah sebabnya kamu akan sering melihat int(input(...)) atau float(input(...)) dalam satu baris. Kalau pengguna mengetik sesuatu yang bukan angka valid, int() memunculkan ValueError, yang akan kita tangani dengan benar di bab tentang exception.

Prompt bersifat opsional

Kalau kamu tidak memberikan string prompt, input() menunggu diam-diam, dan itu hampir selalu keputusan yang salah: pengguna tidak tahu apa yang kamu minta. Selalu berikan prompt yang jelas:

Tidak ada yang dipangkas

Apa pun yang diketik pengguna, termasuk spasi di awal dan di akhir, dikembalikan apa adanya. Kalau itu berpengaruh pada logikamu, panggil .strip():

Program kecil yang lengkap

Menggabungkan semuanya: beberapa baris yang meminta info dari pengguna lalu mencetak laporan kecil:

Dua belas baris. Kodenya terbaca dari atas ke bawah seperti instruksi, bukan seperti kode. Itulah gaya yang ingin didorong oleh dokumentasi ini.

Bagaimana dengan debugging pakai print?

Kadang kamu akan mendengar bahwa "developer sungguhan memakai debugger, bukan print." Itu berlebihan. Print adalah alat debugging yang bagus, terutama untuk skrip kecil dan eksperimen cepat. Taburkan pemanggilan print sebanyak yang kamu mau saat sedang mencari tahu sesuatu, lalu hapus setelah selesai.

Dua trik kecil yang memudahkan:

= di dalam f-string mencetak nama dan nilainya sekaligus, yang menghemat banyak kode berulang seperti print("name =", name).

Lanjut

print dan input memberimu siklus percakapan yang lengkap: bertanya, membaca, menjawab. Bab berikutnya mulai mencampurkan kondisi, yaitu pernyataan if dan operator yang menentukan apa yang dilakukan programmu berdasarkan nilai yang dilihatnya.

Pertanyaan yang sering diajukan

Apa yang dilakukan print() di Python?

Fungsi ini menulis nilai ke terminal. print("hello") menghasilkan hello diikuti newline. Kamu bisa memberikan beberapa nilai yang dipisahkan koma, dan print() secara default akan menaruh spasi di antaranya.

Bagaimana cara kerja input() di Python?

input(prompt) menghentikan program sejenak, menampilkan prompt ke pengguna, menunggu mereka mengetik sesuatu lalu menekan enter, dan mengembalikan apa yang mereka ketik sebagai string. Selalu string: kalau kamu ingin angka, bungkus pemanggilannya dengan int(...) atau float(...).

Bagaimana cara mencetak di baris yang sama di Python?

Berikan end="" ke print. Secara default print menambahkan newline setelah output; mengatur end menjadi string kosong (atau karakter lain apa pun) menggantikan newline itu.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai