Câu trả lời
str = input["Enter the string: "]
newStr = ""
for ch in str :
lch = ch.lower[]
if lch == 'a' \
or lch == 'e' \
or lch == 'i' \
or lch == 'o' \
or lch == 'u' :
newStr += '*'
else :
newStr += ch
print[newStr]
đầu ra
Enter the string: Computer Studies
C*mp*t*r St*d**s
Để giải quyết loại vấn đề này, chúng ta sẽ sử dụng mô-đun re hoặc mô-đun biểu thức chính quy trong Python. Ở đây, chúng ta sẽ giả sử một chuỗi do người dùng cung cấp mà từ đó chúng ta phải loại bỏ tất cả các phụ âm để tìm tất cả các nguyên âm có trong các chuỗi đã cho. Vì vậy, trước khi đi giải quyết vấn đề này, chúng ta sẽ tìm hiểu một chút về module re
Mô-đun lại trong Python là gì?
Python có một mô-đun sẵn có tên là re cho phép chúng ta giải quyết các vấn đề khác nhau dựa trên khớp mẫu và thao tác chuỗi
Giả sử một chuỗi s được cung cấp bởi người dùng, nó có hỗn hợp các phụ âm và nguyên âm. Ở đây, chúng ta sẽ viết mã Python để loại bỏ tất cả các phụ âm khỏi chuỗi s
Trong bài viết này, chúng ta sẽ khám phá nhiều cách khác nhau để có thể loại bỏ tất cả các phụ âm khỏi một chuỗi đã cho trong Python
Cách đơn giản nhất là chuyển đổi một chuỗi thành một danh sách và thay thế ký tự bằng '0' nếu đó không phải là nguyên âm và kết hợp tất cả các phần tử khác không. Ở đây chúng tôi đang chuyển đổi chuỗi thành danh sách để thay thế phần tử bằng 0 vì chuỗi là bất biến
def removeCons[s]: vowel="aeiouAEIOU" lis=[i for i in s] for i in range[len[s]]: k=0 for j in range[len[vowel]]: if[s[i]!=vowel[j]]: k+=1 if[k==10]: lis[i]=0 s="".join[i for i in lis if[i!=0]] return[s]
Một cách khác để viết cùng một mã dưới đây. Ở đây, thay vì loại bỏ các phụ âm, chúng tôi đã thêm các nguyên âm sau đó nối với các ký tự để tạo thành chuỗi
def removeCons[s]: vowel="aeiouAEIOU" lis=[] for i in range[len[s]]: k=0 for j in range[len[vowel]]: if[s[i]==vowel[j]]: k+=1 if[k!=0]: lis.append[s[i]] s="".join[i for i in lis] return s
Và mã ngắn nhất cho mục đích trông giống như
def removeCons[s]: lis=[] for x in s: if i in vowel: lis.append[i] s="".join[i for i in lis] return s
Đầu vào
s="qwertyuioplkjhgfdsazxcvbnm" print[removeCons[s]]
đầu ra
euioa
Vậy đó các bạn, đây là một hướng dẫn đơn giản để loại bỏ các phụ âm khỏi chuỗi. Nếu bạn có thể đưa ra mã hiệu quả hơn, vui lòng nhận xét nó
Giả sử chúng ta có hai chuỗi s và t. Chúng ta chỉ có thể thay đổi một ký tự ở bất kỳ vị trí nào thành bất kỳ nguyên âm nào nếu nó đã là nguyên âm hoặc thành phụ âm nếu nó đã là phụ âm. Ta phải kiểm tra xem s có thể biểu diễn thành t hay ngược lại
Vì vậy, nếu đầu vào là s = "udpmva", t = "itmmve" thì đầu ra sẽ là True khi chúng ta có thể biến đổi u -> i, d -> t, p -> m, a -> e
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- s_size. = kích thước của s
- nếu s_size không giống với kích thước của t thì
- đối với tôi trong phạm vi từ 0 đến s_size, hãy làm
- nếu s[i] và t[i] là nguyên âm thì
- mặt khác khi s[i] và t[i] không phải là nguyên âm, thì
- nếu không thì,
- trả về Đúng
Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -
Ví dụ
Bản thử trực tiếp
def isVowel[x]: if x in ['a', 'e', 'i', 'o', 'u']: return True return False def solve[s, t]: s_size = len[s] if [s_size != len[t]]: return False for i in range[s_size]: if [isVowel[s[i]] and isVowel[t[i]]]: continue elif [[isVowel[s[i]]] == False and [ isVowel[t[i]] == False]]: continue else: return False return True s, t = "udpgma", "itmmve" print[solve[s, t]]
Đầu vào
________số 8đầu ra
True
Bài viết này được tạo ra để đề cập đến một số chương trình trong Python tìm và thay thế tất cả các nguyên âm có sẵn trong một chuỗi nhất định bằng một ký tự nhất định. Ví dụ: nếu trình giải mã chuỗi và ký tự x được người dùng nhập vào, thì tất cả các nguyên âm từ trình giải mã chuỗi sẽ được thay thế bằng x. Do đó, chuỗi cuối cùng sau khi thay thế nguyên âm trở thành cxdxscrxckxr
Câu hỏi đặt ra là hãy viết chương trình Python để thay thế tất cả các nguyên âm trong chuỗi bằng một ký tự. Chuỗi và ký tự phải được nhập bởi người dùng trong thời gian chạy. Chương trình đưa ra dưới đây là câu trả lời cho câu hỏi này
Enter the string: Computer Studies
C*mp*t*r St*d**s
0Đây là mẫu chạy của nó
Bây giờ cung cấp đầu vào cho biết bạn là chuỗi như thế nào và x là ký tự để thay thế tất cả các nguyên âm có sẵn trong chuỗi đã cho bằng x như được hiển thị trong đầu ra mẫu được cung cấp bên dưới
Lưu ý - Chương trình đưa ra ở trên chỉ đúng khi nhập chuỗi chữ thường. Vì chúng tôi không bao gồm các nguyên âm viết hoa trong phần kiểm tra điều kiện. Vì chúng tôi có một chương trình khác được cung cấp bên dưới, đây là phiên bản đã sửa đổi của chương trình trước đó
Phiên bản sửa đổi của chương trình trước đó
Chương trình này sử dụng danh sách để lưu trữ tất cả các nguyên âm [bao gồm cả chữ hoa]. Sử dụng danh sách này, chúng tôi đã kiểm tra xem ký tự ở chỉ mục hiện tại có trong danh sách [nơi lưu trữ các nguyên âm] hay không. Dựa trên điều kiện, chúng tôi đã thực hiện công việc thay thế nguyên âm bằng ký tự đã cho như trong chương trình được cung cấp bên dưới
Enter the string: Computer Studies
C*mp*t*r St*d**s
1Đây là mẫu chạy với đầu vào của người dùng, Lập trình Python dưới dạng chuỗi và _ [gạch dưới] làm ký tự để thay thế tất cả các nguyên âm bằng nó