Menerima input pengguna

Selesai

Tip

Lihat tab Teks dan gambar untuk detail selengkapnya!

Program menjadi sangat kuat ketika mereka dapat berinteraksi dengan orang-orang yang menggunakannya. fungsi bawaan input() Python memungkinkan Anda menjeda program, menunggu pengguna mengetik sesuatu, dan mengambil informasi tersebut.

Menggunakan input()

input() Anggap fungsi sebagai permintaan pertanyaan. Ketika Python menekan baris ini, ia menunggu sampai pengguna mengetik jawaban mereka dan menekan tombol Enter sebelum melanjutkan dengan kode lainnya.

Untuk menyimpan jawabannya, Anda harus "menangkap" itu menggunakan variabel:

favorite_color = input("What is your favorite color? ")
print("Oh, I love", favorite_color, "too!")

Dalam kode ini, favorite_color adalah variabel yang menangkap respons pengguna. Jika pengguna mengetikan Blue dan menekan Enter, outputnya adalah:

What is your favorite color? Blue
Oh, I love Blue too!

Anda dapat mencoba menjalankan kode ini sendiri di penerjemah python online di https://aka.ms/python-coder.

Tip

Perhatikan ruang kosong di akhir perintah: "What is your favorite color? ". Saat menerima input pengguna, tambahkan spasi atau baris baru sebelum menutup tanda kutip Anda. Jika tidak, pengetikan pengguna akan direkatkan langsung ke teks Anda, terlihat berantakan seperti ini: What is your favorite color?Blue

Kata cepat tentang tipe data

Sebelum Anda melangkah lebih jauh, ini membantu mengetahui bahwa setiap nilai dalam Python memiliki jenis data, yang merupakan label yang memberi tahu Python jenis nilai apa yang digunakannya. Misalnya, beberapa jenis data umum adalah:

  • String (str): Teks yang dibungkus dalam tanda kutip, seperti "Blue" atau "25". Bahkan angka menjadi teks saat berada di dalam tanda kutip.
  • Bilangan bulat (int): Bilangan bulat tanpa tanda kutip, seperti 25 atau 100. Python dapat melakukan matematika dengan ini.

Mengapa hal ini penting? Python memperlakukan kedua jenis ini dengan sangat berbeda. Anda dapat menambahkan angka bersama-sama (25 + 1 sama dengan 26), tetapi Anda tidak dapat menambahkan angka ke teks ("25" + 1 menyebabkan kesalahan).

Input selalu teks

Aturan penting yang perlu diingat input() adalah bahwa fungsi selalu mengembalikan teks, bahkan jika pengguna mengetik angka. Contohnya:

age = input("How old are you? ")
print("Next year you will be", age + 1)

Jika Anda menjalankan kode ini dan mengetik 25, Anda mungkin mengharapkannya untuk mencetak 26. Sebagai gantinya, Python crash dan menampilkan pesan kesalahan di konsol Anda:

TypeError: can only concatenate str (not "int") to str

age Karena dikunci sebagai teks, Anda belum dapat melakukan operasi matematika di dalamnya.

Cara membaca kesalahan ini

Kesalahan adalah petunjuk untuk apa yang salah dalam kode. Mari kita uraikan petunjuk ini:

  • TypeError: Anda mencoba mencampur dua jenis data yang tidak dimiliki bersama-sama.
  • can only concatenate str (not "int") to str: "Menggabungkan" berarti merekatkan teks bersama-sama.

Python mengatakan: "Anda memberi saya teks "25", dan meminta saya untuk merekatkan nomor 1 ke dalamnya. Saya dapat merekatkan teks ke teks, tetapi saya tidak tahu cara merekatkan angka matematika ke teks!"

Karena input() mengunci respons pengguna Anda di dalam kutipan teks, Python melihat perhitungan Anda sebagai "25" + 1, yang merupakan persamaan matematika yang tidak mungkin.