By DePaul Dimadis
Choose your prefered Language: greek_flag uk_flag

Η Python, όπως και οι περισσότερες γλώσσες, χρησιμοποιεί αριθμούς στην πραγματικότητα στο background για να αντιπροσωπεύει μεμονωμένους χαρακτήρες σε μια συμβολοσειρά. Για παράδειγμα, το "a" έχει εκχωρηθεί η αριθμητική τιμή 97. Ονομάζουμε αυτή κανονική τιμή. www.asciitable.com δείχνει ένας πίνακας συνηθισμένων τιμών: η κανονική τιμή εμφανίζεται στο τη στήλη "dec" και ο πραγματικός χαρακτήρας εμφανίζεται στη στήλη "chr".

Θα παρατηρήσετε, όμως, ότι πολλοί από τους χαρακτήρες εδώ είναι παράξενοι. Οι πρώτοι 31 είναι κρυφοί χαρακτήρες που έχουν ιδιαίτερη σημασία στον υπολογιστή. Οι εκτεταμένοι κωδικοί δεν έχουν χρησιμοποιήθηκαν πραγματικά από τότε που ήρθαν τα Windows. Πέρα από αυτά 255, οι υψηλότεροι αριθμοί χρησιμοποιούνται στην πραγματικότητα για να αντιπροσωπεύσουν emojis.

Τώρα, σκεφτείτε πότε θα σας ζητηθεί να δημιουργήσετε έναν κωδικό πρόσβασης. Συνήθως, υπάρχουν περιορισμοί σε ό, τι χαρακτήρες εσείς μπορεί να χρησιμοποιήσετε. Πώς ελέγχετε εάν ο κωδικός πρόσβασης είναι έγκυρος; Εσείς θα μπορούσατε να έχετε μια λίστα έγκυρων χαρακτήρων και να ελέγχει κάθε ένα χαρακτήρα εναντίον αυτού του καταλόγου, αλλά αυτό θα ήταν πραγματικά μεγάλη διαδικασία (μακρύς κατάλογος). Αντ 'αυτού, ας χρησιμοποιήσουμε συνηθισμένες τιμές.

Να γραφεί μια συνάρτηση που ονομάζεται "valid_char" που καθορίζει εάν ένας χαρακτήρας (ένα string μήκους ένα) έχει ένα συμβολική τιμή που αντιστοιχεί σε έγκυρο χαρακτήρα για ένα κωδικό πρόσβασης. Οι έγκυροι χαρακτήρες είναι οποιοσδήποτε χαρακτήρας στο πληκτρολόγιο εκτός από τα κενά. Θα επιστρέφει True αν είναι έγκυρος χαρακτήρας, False αν δεν είναι.

Συμβουλή: μπορείτε να βρείτε την ταξινομημένη τιμή ενός χαρακτήρα χρησιμοποιώντας την ενσωματωμένη συνάρτηση της Python ord (): ord ("a") -> 97

Συμβουλή 2: το φάσμα των νομικών χαρακτήρων θα είναι ένα συνεχές διάστημα τιμών (π.χ. χαρακτήρες 55 έως 65, όχι ξεχωριστές περιοχές όπως 55 έως 65 και 69 έως 79). Μπορείτε να χρησιμοποιήσετε το asciable.com για να αναζητήσετε ποιο εύρος μπορείτε να χρησιμοποιήσετε.