Đếm các ký tự lặp lại trong một chuỗi python
Các ký tự lặp lại trong một chuỗi được gọi là các ký tự trùng lặp. Khi chúng tôi đề cập đến việc in các ký tự trùng lặp trong một chuỗi, chúng tôi muốn nói rằng chúng tôi sẽ in mọi ký tự, kể cả khoảng trắng, xuất hiện nhiều lần trong chuỗi được đề cập Show Kịch bản đầu vào-đầu raSau đây là kịch bản đầu vào-đầu ra để tìm tất cả các ký tự trùng lặp trong một chuỗi - Input: TutorialsPoint Output: t, o, i Như chúng ta có thể thấy, các ký tự trùng lặp trong chuỗi đã cho “TutorialsPoint” là “t” với “3” lần lặp lại, “o” với “2” lần lặp lại và “i” với “2” danh tiếng thuật toánThuật toán sau sẽ tìm kiếm một chuỗi ký tự trùng lặp -
Chúng ta có thể triển khai thuật toán trên theo nhiều cách khác nhau, hãy để chúng ta xem từng thuật toán một - Sử dụng vòng lặpĐể lặp lại nhiều lần thông qua một chuỗi, hãy sử dụng vòng lặp for. Chức năng này giống như một phương thức lặp được thấy trong các ngôn ngữ lập trình hướng đối tượng khác và ít giống với từ khóa for được tìm thấy trong các ngôn ngữ lập trình khác Thí dụSau đây là một ví dụ để tìm tất cả các ký tự trùng lặp trong một chuỗi bằng vòng lặp - đầu raSau đây là đầu ra của đoạn mã trên - All the duplicate characters in the string are: e - 2 l - 3 o - 4 m - 2 t - 3 o - 3 t - 2 o - 2 i - 3 a - 2 l - 2 i - 2 Sử dụng danh sách bằng phương thức đếm ()Tần suất của một ký tự hoặc chuỗi con trong một chuỗi có thể được tính bằng cách sử dụng hàm đếm() của ngôn ngữ Python. Là một giá trị trả về, nó chỉ cung cấp số lần xuất hiện Ví dụ2Sau đây là một ví dụ để tìm tất cả các ký tự trùng lặp trong một chuỗi bằng cách sử dụng phương thức count() - đầu raSau đây là đầu ra của đoạn mã trên - t o i Sử dụng phương thức Counter()Lớp con dict của Python được tạo riêng để đếm các đối tượng có thể băm. Đó là một cuốn từ điển trong đó các con số là giá trị và đối tượng là chìa khóa. Bạn thường chuyển một chuỗi hoặc có thể lặp lại các đối tượng có thể băm làm đầu vào cho hàm tạo của lớp khi sử dụng Bộ đếm Thí dụSử dụng phương thức Counter, tạo một từ điển với các chuỗi làm khóa và tần số làm giá trị. Sau đó, tạo một biến tạm thời và in mọi chỉ mục bắt nguồn từ các khóa có giá trị lớn hơn 1 như trong ví dụ sau: Trong hướng dẫn này, chúng ta sẽ học cách đếm số lần xuất hiện của một ký tự đã cho trong một chuỗi bằng Python. Chúng tôi sẽ sử dụng từ điển python và cố gắng giải quyết một số vấn đề dựa trên chuỗi. Ta sẽ tìm các ký tự riêng biệt, ký tự rời rạc, ký tự duy nhất của chuỗi và đồng thời đếm số từ có trong chuỗi Đếm số lần xuất hiện của một ký tự đã cho trong Chuỗi trong Pythonstring = 'Python Programming' dictionary = {} for char in string: if( char in dictionary.keys()): dictionary[char] += 1 else: dictionary[char]=1 for char in dictionary: print(char,' -> ',dictionary[char]) đầu ra P -> 2 y -> 1 t -> 1 h -> 1 o -> 2 n -> 2 -> 1 r -> 2 g -> 2 a -> 1 m -> 2 i -> 1
Vì vậy, bây giờ, chúng tôi đã tạo một từ điển python chứa thông tin về chuỗi. Hãy xem những gì chúng ta có thể làm bằng cách sử dụng thông tin này Bài viết này được tạo ra để đề cập đến chương trình trong Python, đếm và in tổng số ký tự lặp lại có sẵn trong một chuỗi nhất định do người dùng nhập vào thời gian chạy Đếm tổng số ký tự lặp lại trong một chuỗiCâu hỏi đặt ra là hãy viết chương trình Python để đếm tổng số ký tự lặp lại có sẵn trong một chuỗi do người dùng nhập vào. Đây là câu trả lời của nó rChar = 0 rCharList = [] k = 0 print("Enter the String: ") text = str(input()) textList = list(text) tot = len(text) for i in range(tot): if text[i] in textList: if text[i] not in rCharList: newText = text[i+1:] newTot = len(newText) for j in range(newTot): if newText[j]==text[i]: rChar = rChar+1 rCharList.insert(k, text[i]) k = k+1 break print("\nTotal Repeated Character(s): ") print(rChar) Đây là mẫu chạy của nó Bây giờ cung cấp đầu vào nói Codecracker. com dưới dạng chuỗi và nhấn phím All the duplicate characters in the string are: e - 2 l - 3 o - 4 m - 2 t - 3 o - 3 t - 2 o - 2 i - 3 a - 2 l - 2 i - 20 để đếm và in số ký tự lặp lại có sẵn trong chuỗi đã cho Lưu ý - Trong trình giải mã chuỗi. com, các ký tự lặp lại là c, o, e, r Để định dạng giao diện đầu ra của chương trình trước đó theo cách tốt hơn, hãy thay đổi đoạn mã sau print("Enter the String: ") với tuyên bố được đưa ra dưới đây print(end="Enter the String: ") Và sau đó khối mã đưa ra dưới đây ________số 8 với tuyên bố sau print("\nTotal Repeated Character(s): " + str(rChar)) Sau khi thay đổi hai mã hoặc khối mã này, đây là giao diện đầu ra mới của lần chạy mẫu với trình giải mã đầu vào của người dùng lần này |