Cara mengambil input di baris baru dengan python

Cara informasi diperoleh dan ditangani adalah salah satu aspek terpenting dari etos bahasa pemrograman apa pun, lebih-lebih untuk informasi yang diberikan dan diperoleh dari pengguna

Python, sementara relatif lambat dalam hal ini bila dibandingkan dengan bahasa pemrograman lain seperti C atau Java, mengandung alat yang kuat untuk memperoleh, menganalisis, dan memproses data yang diperoleh langsung dari pengguna akhir.

Pada artikel ini, kita akan melihat secara singkat cara mendapatkan informasi dari pengguna melalui fungsi input() di Python dengan bantuan beberapa cuplikan kode sebagai contoh

Masukan dengan Python

Untuk menerima informasi melalui keyboard, Python menggunakan fungsi input(). Fungsi ini memiliki parameter opsional, umumnya dikenal sebagai prompt, yang merupakan string yang akan dicetak di layar setiap kali fungsi tersebut dipanggil

Catatan. Sebelum Python 3 memperkenalkan fungsi input()_, cara untuk membaca input pengguna adalah fungsi Enter a number: 13 The number you entered is: 13 1. Tetap saja, selalu disarankan untuk menggunakan Python 3 dan fungsi input() kapan pun Anda bisa
Di Python 3, fungsi Enter a number: 13 The number you entered is: 13 1 telah ditinggalkan dan diganti dengan fungsi input() dan digunakan untuk mendapatkan string pengguna melalui keyboard. Dan fungsi input()_ dari Python 2 dihentikan di versi 3. Untuk mendapatkan fungsionalitas yang sama yang disediakan oleh fungsi input() Python 2, pernyataan Enter a number: 13 The number you entered is: 13 7 harus digunakan dalam Python 3

Saat fungsi input() dipanggil, aliran program berhenti hingga pengguna memasukkan input melalui baris perintah. Untuk benar-benar memasukkan data, pengguna perlu menekan tombol ENTER setelah memasukkan string mereka. Saat menekan tombol ENTER biasanya menyisipkan karakter baris baru (Enter a number: 13 The number you entered is: 13 9), dalam hal ini tidak. String yang dimasukkan hanya akan diserahkan ke aplikasi

Sekarang setelah kita memahami teori dasar di balik fungsi input(), mari kita lihat cara kerjanya di Python

Menjalankan kode sebelumnya akan meminta kita dengan "Ketikkan sesuatu untuk menguji ini. " pesan. Setelah kita mengetik sesuatu, itu akan mencetak apa yang baru saja kita ketik

Type something to test this out: Let the Code be with you! Is this what you just said? Let the Code be with you! _

Input String dan Numerik

Fungsi input()_, secara default, akan mengubah semua informasi yang diterimanya menjadi string. Contoh sebelumnya yang kami tunjukkan menunjukkan perilaku ini

Angka, di sisi lain, perlu ditangani secara eksplisit karena awalnya muncul sebagai string. Contoh berikut menunjukkan bagaimana informasi tipe numerik diterima

Menjalankan kode sebelumnya akan memberi kita

Enter a number: 13 The number you entered is: 13

Pendekatan yang lebih umum adalah melakukan pembacaan input dan mengubahnya menjadi bilangan bulat dalam satu baris

test_number = int(input("Enter a number: ")) _

Perlu diingat bahwa jika pengguna tidak benar-benar memasukkan bilangan bulat maka kode ini akan mengeluarkan pengecualian, bahkan jika string yang dimasukkan adalah angka floating point

Cara Menangani Pengecualian Saat Membaca Masukan

Ada beberapa cara untuk memastikan bahwa pengguna memasukkan informasi yang valid. Salah satu caranya adalah menangani semua kemungkinan kesalahan yang mungkin terjadi saat pengguna memasukkan data. Pada bagian ini kami akan mendemonstrasikan beberapa metode penanganan error yang baik untuk error yang mungkin muncul saat membaca input

Tapi pertama-tama, mari kita lihat contoh beberapa kode (berpotensi) tidak aman

test2word = input("Tell me your age: ") test2num = int(test2word) print("Wow! Your age is ", test2num)

Setelah menjalankan kode ini, katakanlah Anda memasukkan string "Tiga", bukan angka 3

Tell me your age: Three _

Di sini, ketika fungsi test_number = int(input("Enter a number: ")) 2 dipanggil dengan string "Tiga", pengecualian test_number = int(input("Enter a number: ")) 3 dilemparkan dan program akan berhenti dan/atau macet

Sekarang mari kita lihat bagaimana kita membuat kode ini lebih aman untuk menangani masukan pengguna

test3word = input("Tell me your lucky number: ") try: test3num = int(test3word) print("This is a valid number! Your lucky number is: ", test3num) except ValueError: print("This is not a valid number. It isn't a number at all! This is a string, go and try again. Better luck next time!")

Blok kode ini akan mengevaluasi input baru. Jika input adalah bilangan bulat yang direpresentasikan sebagai string maka fungsi test_number = int(input("Enter a number: ")) 2 akan mengubahnya menjadi bilangan bulat yang tepat. Jika tidak, pengecualian akan dimunculkan, tetapi alih-alih membuat aplikasi mogok, itu akan ditangkap dan pernyataan test_number = int(input("Enter a number: ")) 5 kedua dijalankan. Berikut adalah contoh kode ini yang berjalan saat pengecualian dimunculkan

Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu

Tell me your lucky number: Seven This is not a valid number. It isn't a number at all! This is a string, go and try again. Better luck next time!

Dan ini adalah bagaimana kesalahan terkait masukan dapat ditangani dengan Python

Catatan. Anda dapat menggabungkan kode ini dengan konstruksi lain, seperti while loop untuk memastikan bahwa kode dijalankan berulang kali hingga Anda menerima input bilangan bulat valid yang diperlukan program Anda

Contoh Lengkap

Outputnya akan

What's your name? Francis From 1 to 7, how many hours do you use your smartphone? Impressive, Francis! You spent 180 minutes or 10800 seconds using your smartphone!

Kesimpulan

Pada artikel ini, kita melihat bagaimana fungsi Python input() bawaan dapat digunakan untuk mendapatkan input pengguna dalam berbagai format. Kami juga melihat bagaimana kami dapat menangani pengecualian dan kesalahan yang mungkin terjadi saat mendapatkan input pengguna

Bagaimana Anda memasukkan baris baru di input?

Secara default, menekan Enter atau Shift dan Enter akan menghasilkan baris baru untuk elemen textarea

Bagaimana Anda mengambil input dari baris lain dengan Python?

Metode ke-1. daftar masukan = [] while True. mencoba. baris = input() kecuali EOFError. istirahat daftar masukan. append(line) Metode ke-2 import sys inputlist = sys. stdin. readlines() print(inputlist) Ini akan mengambil input multi-baris namun Anda harus menghentikan input (ctrl+d atau ctrl+z).

Bagaimana Anda mengambil input N dalam baris N dengan Python?

Solusi ini berfungsi paling baik jika ingin mem-pipe data ke Python, mis. e. printf "baris1\nbaris2\n". python -c 'import sys; . stdin))' atau python -c 'import sys; . stdin))'

Postingan terbaru

LIHAT SEMUA