Thật dễ dàng trong Python để tìm ký tự lặp lại trong một chuỗi đã cho. Có nhiều cách để làm điều đó như sử dụng bảng chữ cái, vòng lặp for hoặc bộ sưu tập
Chương trình Python để tìm ký tự lặp lại trong một chuỗi đã cho Ví dụ
Mã ví dụ đơn giản
Cách cơ bản quét chuỗi 26 lần
chars = "abcdefghijklmnopqrstuvwxyz"
check_string = "Write a Python program to find the repeated character in a given string"
l_string = check_string.lower[]
for char in chars:
count = l_string.count[char]
print[char, count, end=', ']
đầu ra
Một cách khác là chỉ đi qua chuỗi một lần
Khoảng trắng cũng sẽ được tính trong phương thức này, vì vậy hãy áp dụng điều kiện if để xóa khoảng trắng trong số đếm
check_string = "Write a Python program to find the repeated character in a given string"
count = {}
for s in check_string:
if s != ' ':
if s in count:
count[s] += 1
else:
count[s] = 1
print[count]
Sử dụng bộ sưu tập
Cần nhập mô-đun bộ sưu tập
import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
Hãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về chương trình Python char này
Ghi chú. IDE. PyCharm 2021. 3. 3 [Phiên bản cộng đồng]
cửa sổ 10
Trăn 3. 10. 1
Tất cả các Ví dụ về Python đều nằm trong Python 3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp
Rohit
Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật
Trong bài đăng này, chúng ta sẽ xem cách đếm các ký tự lặp lại trong một chuỗi.
Thuật toán
Bước 1. Khai báo một chuỗi và lưu trữ nó trong một biến.
Bước 2. Sử dụng 2 vòng lặp để tìm các ký tự trùng lặp. Vòng lặp bên ngoài sẽ được sử dụng để chọn một ký tự và khởi tạo biến đếm thành 1.
Bước 3. Vòng lặp bên trong sẽ được sử dụng để so sánh ký tự đã chọn với các ký tự còn lại của chuỗi.
Bước 4. Nếu một trận đấu được tìm thấy, nó sẽ tăng số lượng lên 1.
Bước 5. Sau khi hoàn thành vòng lặp bên trong, nếu số lượng ký tự lớn hơn 1, thì nó có các ký tự trùng lặp trong chuỗi.
Bước 6. In tất cả các ký tự lặp lại cùng với số ký tự
Bước 7. Kết thúc
Ví dụ
Input: "welcome to the world of python programming" Output: Duplicate characters in a given string: w - 2 e - 3 l - 2 o - 6 m - 3 t - 3 h - 2 r - 3 p - 2 n - 2 g - 2
Chương trình
string = "welcome to the world of python programming"; print["Duplicate characters in a given string: "]; for i in range[0, len[string]]: count = 1; for j in range[i+1, len[string]]: if[string[i] == string[j] and string[i] != ' ']: count = count + 1; string = string[:j] + '0' + string[j+1:]; if[count > 1 and string[i] != '0']: print[string[i]," - ",count];
đầu ra
Duplicate characters in a given string: w - 2 e - 3 l - 2 o - 6 m - 3 t - 3 h - 2 r - 3 p - 2 n - 2 g - 2
Trong python, rất đơn giản để lặp lại một chuỗi bao nhiêu lần tùy thích. Chúng ta phải sử dụng toán tử
import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
5 và chỉ định số lần chúng ta muốn lặp lại toàn bộ chuỗi. Ví dụ mã dưới đây cho thấy cách sử dụng toán tử import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
5 để lặp lại một chuỗi n lầntext = "txt"
repeated = text * 4
print[repeated]
đầu ra
Trong đoạn mã trên, chúng tôi đã tạo một biến chuỗi
import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
7, lặp lại nó import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
8 lần và lưu trữ chuỗi lặp lại bên trong biến chuỗi mới import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
9. Cuối cùng, chúng tôi đã hiển thị giá trị của biến import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
9 cho người dùngPhương pháp này thuận tiện khi chúng ta muốn lặp lại toàn bộ chuỗi
Input: "welcome to the world of python programming" Output: Duplicate characters in a given string: w - 2 e - 3 l - 2 o - 6 m - 3 t - 3 h - 2 r - 3 p - 2 n - 2 g - 21 lần, như thể hiện trong kết quả đầu ra
Input: "welcome to the world of python programming" Output: Duplicate characters in a given string: w - 2 e - 3 l - 2 o - 6 m - 3 t - 3 h - 2 r - 3 p - 2 n - 2 g - 22. Nhưng nếu chúng ta định lặp lại một chuỗi ở một độ dài nhất định, chúng ta phải viết phần triển khai của mình. Ví dụ: nếu độ dài được chỉ định là
def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
0 ký tự, chuỗi trên sẽ trông giống như def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
1Lặp lại chuỗi theo độ dài với hàm do người dùng xác định trong Python
Phương thức trước không thành công nếu chúng ta muốn lặp lại một chuỗi nhưng cũng nằm trong giới hạn ký tự. Trong python, không có phương thức tích hợp sẵn cho nó, vì vậy chúng ta phải triển khai logic của riêng mình bên trong một hàm. Ví dụ mã bên dưới cho thấy cách lặp lại một chuỗi ở độ dài nhất định bằng hàm do người dùng xác định
def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
đầu ra
Lần này, chúng tôi đã lặp lại chuỗi
def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
2 đến độ dài def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
0. Chúng tôi đã viết hàm def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
4 lấy chuỗi gốc def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
5 và độ dài của chuỗi lặp lại def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
6 làm tham số đầu vào. Sau đó, chúng tôi đã khởi tạo biến số nguyên def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
7 xác định số lần chuỗi ban đầu cần được lặp lại để phù hợp với giới hạn độ dài. Điều này có thể được xác định bằng cách chia tham số def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
6 cho độ dài thực tế của tham số def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
5. Chúng tôi đã thêm import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
50 để bù cho các giá trị bị mất sau dấu thập phân. Sau đó, chúng tôi đã lưu trữ một chuỗi lặp lại bên trong biến import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
51 bằng cách nhân def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
5 với biến def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
7. Cuối cùng, chúng tôi đã trả về các giá trị bên trong import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
51 từ import collections
check_string = "Write a Python program to find the repeated character in a given string"
d = collections.defaultdict[int]
for c in check_string:
d[c] += 1
print[d]
55 đến chỉ mục def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
6Chúng tôi đã sử dụng hàm
def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
4 để lặp lại chuỗi def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
2 với độ dài def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
0 và hiển thị đầu ra. Đầu ra hiển thị def repeat[string_to_repeat, length]:
multiple = int[length/len[string_to_repeat] + 1]
repeated_string = string_to_repeat * multiple
return repeated_string[:length]
r = repeat["txt", 10]
print[r]
1, đó là những gì chúng ta đã thảo luận trong phần trước