Πρόγραμμα Python για μέτρηση του αριθμού κάθε φωνήεντος

Σε αυτό το πρόγραμμα, θα μάθετε να μετράτε τον αριθμό κάθε φωνήεν σε μια συμβολοσειρά χρησιμοποιώντας κατανόηση λεξικού και λίστας.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Python:

  • Python για βρόχο
  • Χορδές Python
  • Μέθοδοι συμβολοσειράς

Πηγαίος κώδικας: Χρήση λεξικού

 # Program to count the number of each vowels # string of vowels vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # make a dictionary with each vowel a key and value 0 count = ().fromkeys(vowels,0) # count the vowels for char in ip_str: if char in count: count(char) += 1 print(count) 

Παραγωγή

 ('o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3) 

Εδώ, έχουμε λάβει μια συμβολοσειρά που είναι αποθηκευμένη στο ip_str. Χρησιμοποιώντας τη μέθοδο casefold(), την κάνουμε κατάλληλη για συγκρίσεις χωρίς λόγο. Βασικά, αυτή η μέθοδος επιστρέφει μια πεζά έκδοση της συμβολοσειράς.

Χρησιμοποιούμε τη μέθοδο λεξικού για fromkeys()να κατασκευάσουμε ένα νέο λεξικό με κάθε φωνήεν ως κλειδί και όλες οι τιμές είναι ίσες με 0. Αυτή είναι η αρχικοποίηση του αριθμού.

Στη συνέχεια, επαναλαμβάνουμε τη συμβολοσειρά εισόδου χρησιμοποιώντας ένα για βρόχο.

Σε κάθε επανάληψη, ελέγχουμε εάν ο χαρακτήρας βρίσκεται στα πλήκτρα λεξικού ( Trueεάν είναι φωνήεν) και αυξάνεται η τιμή κατά 1 εάν ισχύει.

Πηγαίος κώδικας: Χρήση λίστας και κατανόησης λεξικού

 # Using dictionary and list comprehension ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # count the vowels count = (x:sum((1 for char in ip_str if char == x)) for x in 'aeiou') print(count) 

Η έξοδος αυτού του προγράμματος είναι η ίδια όπως παραπάνω.

Εδώ, έχουμε τοποθετήσει μια κατανόηση λίστας μέσα σε μια κατανόηση λεξικού για να μετρήσουμε τα φωνήεντα σε μία γραμμή.

Η κατανόηση λεξικού εκτελείται για όλους τους χαρακτήρες φωνήεντος και η κατανόηση λίστας μέσα στην κατανόηση λεξικού ελέγχει εάν υπάρχουν χαρακτήρες στη συμβολοσειρά που ταιριάζουν με το συγκεκριμένο φωνήεν.

Στο τέλος, δημιουργείται μια λίστα με 1 s για τον αριθμό κάθε χαρακτήρα φωνήεντος. Η sum()μέθοδος χρησιμοποιείται για τον υπολογισμό του αθροίσματος των στοιχείων για κάθε λίστα.

Ωστόσο, αυτό το πρόγραμμα είναι πιο αργό καθώς επαναλαμβάνουμε ολόκληρη τη συμβολοσειρά εισόδου για κάθε φωνήεν.

ενδιαφέροντα άρθρα...