Chương trình Python để đếm số lượng mỗi nguyên âm

Trong chương trình này, bạn sẽ học cách đếm số lượng từng nguyên âm trong một chuỗi bằng cách sử dụng từ điển và khả năng hiểu danh sách.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python cho vòng lặp
  • Chuỗi Python
  • Phương thức chuỗi

Mã nguồn: Sử dụng từ điển

 # 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) 

Đầu ra

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

Ở đây, chúng tôi đã lấy một chuỗi được lưu trữ trong ip_str. Sử dụng phương pháp này casefold(), chúng tôi làm cho nó phù hợp để so sánh không tính tiền. Về cơ bản, phương thức này trả về một phiên bản viết thường của chuỗi.

Chúng tôi sử dụng phương pháp từ điển fromkeys()để xây dựng một từ điển mới với mỗi nguyên âm là khóa của nó và tất cả các giá trị bằng 0. Đây là lần khởi tạo số đếm.

Tiếp theo, chúng tôi lặp lại chuỗi đầu vào bằng vòng lặp for.

Trong mỗi lần lặp, chúng tôi kiểm tra xem ký tự có trong các khóa từ điển ( Truenếu nó là một nguyên âm) và tăng giá trị lên 1 nếu đúng.

Mã nguồn: Sử dụng danh sách và cách hiểu từ điển

 # 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) 

Đầu ra của chương trình này giống như trên.

Ở đây, chúng tôi đã lồng một phần đọc hiểu danh sách bên trong phần đọc hiểu từ điển để đếm các nguyên âm trong một dòng.

Tính năng hiểu từ điển chạy cho tất cả các ký tự nguyên âm và khả năng hiểu danh sách bên trong tính năng hiểu từ điển sẽ kiểm tra xem có ký tự nào trong chuỗi khớp với nguyên âm cụ thể đó không.

Cuối cùng, một danh sách có 1 s được tạo ra cho số lượng của mỗi ký tự nguyên âm. Các sum()phương pháp được sử dụng để tính tổng các yếu tố cho mỗi danh sách.

Tuy nhiên, chương trình này chậm hơn khi chúng ta lặp lại trên toàn bộ chuỗi đầu vào cho mỗi nguyên âm.

thú vị bài viết...