Cách thay thế phụ âm trong Python

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ó

Thay thế [] trong Python là gì?

Phương thức replace[] thay thế một cụm từ đã chỉ định bằng một cụm từ đã chỉ định khác . Ghi chú. Tất cả các lần xuất hiện của cụm từ được chỉ định sẽ được thay thế, nếu không có gì khác được chỉ định.

Chủ Đề