Rumah >pembangunan bahagian belakang >Tutorial Python >Program Python untuk menguji sama ada rentetan mengandungi nombor dan huruf sahaja
Apabila menggunakan Python untuk memproses rentetan, anda selalunya perlu mengesahkan sama ada rentetan hanya mengandungi nombor dan huruf, atau sama ada ia mengandungi aksara khas lain. Pengesahan rentetan adalah sangat penting dalam pelbagai senario, seperti pengesahan input, pemprosesan data dan penapisan.
Dalam artikel ini, kami akan meneroka program Python untuk menguji sama ada rentetan yang diberikan hanya mengandungi aksara abjad angka. Kami akan membincangkan kriteria untuk rentetan yang sah, memberikan contoh rentetan yang sah dan tidak sah dan memperkenalkan cara yang cekap untuk menyelesaikan masalah ini menggunakan kaedah rentetan terbina dalam.
Sebelum kita mula menyelesaikan masalah, mari kita tentukan standard untuk rentetan sah yang hanya mengandungi nombor dan huruf -
Rentetan tidak boleh mengandungi sebarang ruang atau aksara khas.
Rentetan hendaklah terdiri daripada aksara alfanumerik (a-z, A-Z dan 0-9).
String hendaklah mengandungi sekurang-kurangnya satu aksara.
Tugas kami ialah menulis program Python yang menerima rentetan sebagai input dan menyemak sama ada ia memenuhi syarat ini. Mengembalikan True jika rentetan mengandungi nombor dan huruf sahaja, False sebaliknya.
Untuk menyelesaikan masalah ini, kami akan menggunakan kaedah rentetan terbina dalam Python dan operasi logik. Kami akan menelusuri kaedah dan algoritma untuk mencapai pengesahan ini langkah demi langkah.
Untuk menentukan sama ada rentetan mengandungi nombor dan huruf sahaja, kita boleh menggunakan kaedah yang mudah. Kami akan mengulangi setiap aksara rentetan dan menyemak sama ada ia adalah aksara alfanumerik. Jika kami menemui sebarang aksara bukan abjad angka, kami akan mengembalikan Palsu. Jika semua aksara melepasi semakan abjad angka, kami akan mengembalikan Benar.
Berikut ialah algoritma langkah demi langkah untuk menyelesaikan masalah:
Tentukan fungsi yang mengambil rentetan sebagai input.
Gelung setiap aksara dalam rentetan.
Untuk setiap aksara, gunakan kaedah isalnum() untuk menyemak sama ada ia adalah abjad angka.
Mengembalikan Palsu jika mana-mana aksara bukan abjad angka ditemui.
Mengembalikan Benar jika semua aksara melepasi semakan.
Sekarang kita mempunyai kaedah dan algoritma yang jelas, mari kita laksanakan penyelesaian dalam Python.
Sekarang, mari kita laksanakan program Python untuk menguji sama ada rentetan mengandungi nombor dan huruf sahaja. Kami akan meneruskan mengikut kaedah dan algoritma yang dibincangkan sebelum ini.
def is_alphanumeric(string): for char in string: if not char.isalnum(): return False return True
Dalam kod di atas, kami menentukan fungsi yang dipanggil is_alphanumeric yang mengambil rentetan sebagai input. Kami menggunakan gelung for untuk melelaran melalui setiap aksara rentetan. Untuk setiap aksara, kami menggunakan kaedah isalnum() untuk menyemak sama ada ia adalah aksara alfanumerik. Jika mana-mana aksara ditemui yang bukan abjad angka, kami segera mengembalikan Palsu. Jika semua aksara melepasi semakan, kami mengembalikan Benar.
Mari uji program ini dengan beberapa contoh.
print(is_alphanumeric("Hello123")) # Output: True print(is_alphanumeric("Hello World")) # Output: False print(is_alphanumeric("12345")) # Output: True print(is_alphanumeric("12345!")) # Output: False
Dalam contoh di atas, kami menggunakan rentetan yang berbeza untuk menguji atur cara. Output yang dijangkakan disediakan sebagai ulasan.
Sekarang, mari kita beralih ke bahagian seterusnya, membincangkan output dan menganalisis prestasi program.
Mari kita menganalisis output program dan membincangkan prestasinya.
is_alphanumeric function menerima rentetan sebagai input dan mengembalikan True jika rentetan hanya mengandungi nombor dan huruf, jika tidak ia mengembalikan False.
Sebagai contoh, apabila kita menguji fungsi dengan rentetan "Hello123", ia mengandungi huruf dan nombor, jadi fungsi itu mengembalikan True. Sebaliknya, apabila kami mengujinya dengan rentetan "Hello World", ia mengandungi aksara ruang, yang bukan aksara abjad angka, jadi fungsi itu mengembalikan Palsu.
Fungsi ini direka bentuk untuk melelakan setiap aksara rentetan dan menggunakan kaedah isalnum() untuk menyemak sama ada ia adalah aksara abjad angka. Kerumitan masa kaedah ini ialah O(n), dengan n ialah panjang rentetan. Ia melakukan imbasan linear rentetan, menyemak setiap aksara satu demi satu.
Kerumitan ruang fungsi ialah O(1) kerana ia tidak memerlukan sebarang struktur data tambahan yang berkembang dengan saiz input.
Secara keseluruhannya, program ini menyediakan penyelesaian yang cekap untuk menentukan sama ada rentetan mengandungi nombor dan huruf sahaja, dengan kerumitan masa linear dalam panjang rentetan.
Dalam artikel ini, kami meneroka cara menulis program Python untuk menguji sama ada rentetan mengandungi nombor dan huruf sahaja. Kami terlebih dahulu memahami pernyataan masalah dan membincangkan penyelesaiannya. Kami kemudian melaksanakan fungsi is_alphanumeric yang menyemak setiap aksara rentetan menggunakan kaedah isalnum() dan mengembalikan True jika semua aksara adalah alfanumerik.
Kami telah melihat cara menggunakan fungsi ini untuk pelbagai ujian dan membincangkan output yang dijangkakan. Selain itu, kami menganalisis prestasi program, mencatatkan kerumitan masa dan kerumitan ruangnya.
Dengan menggunakan program ini, anda boleh menentukan dengan mudah sama ada rentetan yang diberikan mengandungi nombor dan huruf sahaja, yang sangat berguna dalam senario di mana anda perlu mengesahkan input pengguna atau memproses jenis data tertentu.
Atas ialah kandungan terperinci Program Python untuk menguji sama ada rentetan mengandungi nombor dan huruf sahaja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!