Giả sử ta có một xâu s, xâu này bao gồm "R" và "L", ta phải loại bỏ số ký tự ít nhất sao cho không có chữ "R" liền và chữ "L" liền nhau
Vì vậy, nếu đầu vào là "LLLRRR" thì đầu ra sẽ là "LRLR"
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- đã xem. = ký tự đầu tiên của s
- trả lời. = ký tự đầu tiên của s
- đối với mỗi ký tự i từ chỉ mục 1 đến cuối s, hãy làm
- nếu tôi không giống như đã thấy, thì
- trả lại ans
Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -
Thí dụ
Bản thử trực tiếp
class Solution: def solve(self, s): seen = s[0] ans = s[0] for i in s[1:]: if i != seen: ans += i seen = i return ans ob = Solution() print(ob.solve("LLLRLRR"))Đầu vào
"LLLRLRR"đầu ra
LRLRBài viết này được tạo ra để đề cập đến một số chương trình trong Python, loại bỏ các nguyên âm khỏi một chuỗi do người dùng nhập vào. Dưới đây là danh sách các phương pháp được sử dụng
- Xóa nguyên âm khỏi chuỗi bằng vòng lặp for
- Sử dụng cắt chuỗi
- Sử dụng phương thức thay thế()
Lưu ý - a, e, i, o, u, A, E, I, O, U đều là nguyên âm
Xóa nguyên âm khỏi chuỗi bằng for Loop
Để xóa tất cả các nguyên âm khỏi một chuỗi trong Python, bạn phải yêu cầu người dùng nhập một chuỗi, sau đó xóa tất cả các nguyên âm khỏi chuỗi đó như trong chương trình dưới đây. Câu hỏi đặt ra là viết chương trình Python để xóa các nguyên âm khỏi chuỗi. Đây là câu trả lời của nó
print("Enter the String: ") text = input() vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] newtext = "" textlen = len(text) for i in range(textlen): if text[i] not in vowels: newtext = newtext + text[i] print("\nString after removing Vowels: ") text = newtext print(text)
Đây là đầu ra ban đầu được tạo bởi chương trình Python này
Bây giờ cung cấp đầu vào nói Codecracker. com và nhấn phím ENTER để xóa tất cả các nguyên âm khỏi chuỗi này và in chuỗi mới không có nguyên âm như trong ảnh chụp nhanh bên dưới
Chương trình trên hoạt động theo cách
- Tôi đã tạo một danh sách tất cả 10 nguyên âm. 5 chữ thường và 5 nguyên âm chữ hoa
- Sau đó khởi tạo các ký tự, từng ký tự một thành một chuỗi mới, chẳng hạn như văn bản mới, chỉ khi ký tự (sẽ khởi tạo) không có trong (hoặc bằng) bất kỳ nguyên âm nào trong số 10 nguyên âm có sẵn trong danh sách
Lưu ý - Phương thức len() trả về độ dài của chuỗi được truyền làm đối số của nó
Lưu ý - Phương thức range() trả về một chuỗi các giá trị. Theo mặc định, bắt đầu bằng 0 và tăng thêm 1 mỗi lần. Tiếp tục cho đến khi giá trị được cung cấp làm đối số của nó
Chạy khô chương trình trên với trình giải mã đầu vào của người dùng. com đi như
- Các giá trị ban đầu, text = "codescracker. com" (do người dùng nhập), newtext = "", và textlen = 16 (vì độ dài của chuỗi đã cho là 16)
- Bây giờ quá trình thực thi vòng lặp for bắt đầu, ban đầu i=0 và vì 0 nhỏ hơn textlen hoặc 16, do đó điều kiện được đánh giá là đúng và luồng chương trình đi vào bên trong vòng lặp
- Điều kiện (nếu) văn bản[i] không có nguyên âm hoặc văn bản[0] không có nguyên âm hoặc "c" không có nguyên âm được đánh giá là đúng, vì "c" là ký tự không có trong danh sách có tên nguyên âm. Do đó, luồng chương trình đi vào bên trong phần thân if này và văn bản mới + văn bản [i] hoặc "" + văn bản [0] hoặc "" + "c" hoặc "c" được khởi tạo thành văn bản mới
- Bây giờ giá trị của i được tăng lên, vì vậy i=1, vì 1 lại nhỏ hơn 16, do đó điều kiện một lần nữa đánh giá là đúng, do đó luồng chương trình lại đi vào bên trong vòng lặp
- Lần này, văn bản[i] không có nguyên âm hoặc văn bản[1] không có nguyên âm hoặc "o" không có nguyên âm được đánh giá là sai, vì "o" là ký tự có sẵn trong danh sách có tên nguyên âm. Do đó, luồng chương trình không đi vào bên trong phần thân của if
- Bây giờ i=2 và lần này, điều kiện nếu, đó là text[i] không ở dạng nguyên âm hoặc text[2] không ở dạng nguyên âm hoặc "d" không ở dạng nguyên âm được đánh giá là đúng, do đó newtext + text[i] hoặc
- Quá trình này tiếp tục cho đến khi giá trị của i trở thành 16
- Theo cách này, biến newtext giữ giá trị chuỗi do người dùng nhập nhưng không có bất kỳ nguyên âm nào
- Vì vậy, đã khởi tạo giá trị của nó thành văn bản và giá trị của văn bản được in dưới dạng chuỗi không có nguyên âm
Phiên bản sửa đổi của chương trình trước đó
Đây là phiên bản sửa đổi của chương trình trước đó. Chương trình này sử dụng vòng lặp for theo cách mà mỗi và mọi ký tự của chuỗi được sao chép từng ký tự một vào c và sử dụng giá trị của c, tôi đã kiểm tra và thực hiện công việc loại bỏ các nguyên âm giống như chương trình trước. Sự khác biệt duy nhất là c được coi là text[i] ở đây
print("Enter String: ", end="") text = input() vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] newtext = "" for c in text: if c not in vowels: newtext = newtext + c print("\nWith Vowels =", text) text = newtext print("\nWithout Vowels =", text)
Đây là lần chạy mẫu của nó với đầu vào chuỗi Chào mừng bạn đến với Codecracker. com
Lưu ý - Kết thúc = được sử dụng để bỏ qua việc chèn dòng mới bằng print()
Xóa nguyên âm khỏi chuỗi bằng cách cắt chuỗi
Chương trình này sử dụng tính năng cắt chuỗi để thực hiện công việc loại bỏ các nguyên âm khỏi chuỗi. Chương trình này loại bỏ các nguyên âm khỏi chuỗi mà không sử dụng bất kỳ biến (thứ hai) nào khác
print("Enter String: ", end="") text = input() vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] i = 0 for c in text: if c in vowels: text = text[:i] + text[i+1:] i = i-1 i = i+1 print("\nWithout Vowels =", text)
Đây là lần chạy mẫu của nó với đầu vào chuỗi giống như lần chạy mẫu trước
Trong chương trình trên, câu lệnh sau
text = text[:i] + text[i+1:]
nói rằng, ngoại trừ ký tự tại chỉ mục thứ i, tất cả các ký tự trước và sau chỉ mục thứ i, được thêm vào và khởi tạo thành văn bản dưới dạng giá trị mới của nó
Lưu ý - Trong khi cắt chuỗi bằng cách sử dụng các cặp chỉ mục bên trong dấu ngoặc vuông, nghĩa là [. ], số chỉ mục trước dấu hai chấm được bao gồm và số chỉ mục sau dấu hai chấm bị loại trừ
Lưu ý - Để trống trước. (dấu hai chấm) trong [. ] đề cập đến 0 và trống sau. (dấu hai chấm) trong [. ] đề cập đến giá trị độ dài của chuỗi
Xóa nguyên âm khỏi chuỗi bằng thay thế ()
Chương trình này sử dụng phương thức replace() để thay thế nguyên âm không có gì (""). Vì vậy, lần lượt tất cả các nguyên âm bị xóa bằng "", trống. Hãy cùng xem chương trình