Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Membaca Input Berangka dengan Selamat daripada Pengguna dalam Python 3?

Bagaimanakah Saya Boleh Membaca Input Berangka dengan Selamat daripada Pengguna dalam Python 3?

Patricia Arquette
Lepaskan: 2024-12-29 20:23:17
asal
185 orang telah melayarinya

How Can I Safely Read Numerical Input from Users in Python 3?

Isu dengan Membaca Input Pengguna sebagai Nombor

Dalam Python 3, menggunakan fungsi input() untuk membaca input pengguna menimbulkan kebimbangan mengenai jenis daripada data yang diterima. Secara lalai, input() mengembalikan nilai sebagai rentetan, walaupun apabila pengguna berhasrat untuk memasukkan data berangka. Tingkah laku ini berbeza daripada Python 2.7, dengan input() menganggap input pengguna sebagai integer.

Dalam coretan kod anda:

x = input("Enter a number: ")
y = input("Enter a number: ")
Salin selepas log masuk

Pembolehubah x dan y akan menjadi rentetan dan bukannya integer. Ini menjadi jelas apabila melakukan operasi aritmetik pada x dan y.

Penyelesaian

Untuk membaca input sebagai nombor, anda perlu menukarnya secara eksplisit menggunakan int() atau float () fungsi. Contohnya:

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))
Salin selepas log masuk

Fungsi int() menukar input kepada integer dan fungsi float() menukarkannya kepada nombor titik terapung.

Mengendalikan Berbeza Pangkalan untuk Input Berangka

Anda juga boleh mengendalikan input berangka yang dimasukkan dalam pangkalan yang berbeza. Python 3 menyediakan cara yang mudah untuk menentukan pangkalan menggunakan parameter kedua kepada fungsi int() atau float(). Contohnya:

data = int(input("Enter a number: "), 8)  # Binary base
data = int(input("Enter a number: "), 16)  # Hexadecimal base
data = int(input("Enter a number: "), 2)  # Octal base
Salin selepas log masuk

Perbezaan antara Python 2 dan 3

Python 2 dan 3 mempunyai gelagat yang berbeza semasa membaca input pengguna.

  • Python 2.x:

    • Fungsi input() menilai input pengguna dan mengembalikan hasilnya sebagai integer.
    • Fungsi raw_input() adalah serupa dengan input() dalam Python 3 dan mengembalikan rentetan tanpa menilai ia.
  • Python 3.x:

    • Fungsi input() mengembalikan input pengguna sebagai rentetan, walaupun apabila niatnya adalah untuk memasukkan data berangka.
    • Fungsi raw_input() tidak tersedia dalam Python 3.

Dengan memahami perbezaan ini dan menggunakan kaedah penukaran jenis yang sesuai, anda boleh membaca input berangka dengan berkesan dalam Python 3.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Input Berangka dengan Selamat daripada Pengguna dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan