Meminta Input Pengguna Sehingga Respons Sah Diberikan
Dalam pengaturcaraan, adalah penting untuk memastikan input pengguna adalah sah sebelum meneruskan operasi selanjutnya. Jika data tidak sah diterima, ia boleh menyebabkan hasil yang salah atau ranap program. Mari kita terokai teknik berkesan untuk mengendalikan pengesahan input pengguna dan mencegah ralat.
Pengecualian dan Penggelung
Satu pendekatan ialah menggunakan cuba dan kecuali blok untuk menangkap ralat yang mungkin timbul apabila menghuraikan input pengguna. Dengan membungkus operasi penghuraian input dalam gelung sementara, anda boleh meminta input secara berterusan sehingga ia memenuhi kriteria yang dikehendaki.
while True: try: age = int(input("Please enter your age: ")) except ValueError: print("Sorry, I didn't understand that.") continue else: break
Logik Pengesahan Tersuai
Selain itu kepada pengendalian pengecualian, anda boleh melaksanakan peraturan pengesahan anda sendiri untuk menyemak terhadap input. Sebagai contoh, anda boleh menolak nilai yang negatif atau di luar julat tertentu.
while True: data = input("Pick an answer from A to D:") if data.lower() not in ('a', 'b', 'c', 'd'): print("Not an appropriate choice.") else: break
Pengendalian Ralat untuk Semua Kes
Untuk pengesahan input yang komprehensif, anda boleh menggabungkan pengendalian pengecualian dengan peraturan tersuai dalam satu gelung. Ini memastikan bahawa kedua-dua ralat penghuraian dan nilai tidak sah dikesan dan dikendalikan dengan sewajarnya.
while True: try: age = int(input("Please enter your age: ")) except ValueError: print("Sorry, I didn't understand that.") continue if age < 0: print("Sorry, your response must not be negative.") continue else: break
Fungsi Enkapsulasi dan Boleh Digunakan Semula
Jika anda kerap menghadapi keperluan untuk pengesahan input pengguna , adalah berfaedah untuk merangkum kod yang berkaitan ke dalam fungsi yang berasingan. Ini membenarkan penggunaan semula kod dan memudahkan proses pengumpulan input.
def get_non_negative_int(prompt): while True: value = int(input(prompt)) if value >= 0: break return value age = get_non_negative_int("Please enter your age: ")
Kebolehlanjutan dan Pengesahan Input Generik
Dengan memperluaskan lagi konsep, anda boleh mencipta fungsi pengesahan input serba boleh yang merangkumi pelbagai jenis keperluan.
def sanitised_input(prompt, type_=None, min_=None, max_=None, range_=None): while True: ui = input(prompt) try: if type_ is not None: ui = type_(ui) except ValueError: continue # Perform further validation checks and return valid input if all criteria are met.
Kesalahan Biasa dan Amalan Terbaik
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Input Pengguna yang Sah dalam Program Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!