Computer >> Máy Tính >  >> Lập trình >> Python

Python - Các tổ hợp chuỗi lặp lại ký tự

Khi yêu cầu lặp lại ký tự của một ký tự nhất định, một phương thức được xác định sử dụng giá trị chỉ mục để in các ký tự lặp lại.

Ví dụ

Dưới đây là một minh chứng về điều tương tự

def to_string(my_list):
   return ''.join(my_list)

def lex_recurrence(my_string, my_data, last_val, index_val):
   length = len(my_string)

   for i in range(length):

      my_data[index_val] = my_string[i]

      if index_val==last_val:
         print(to_string(my_data))
      else:
         lex_recurrence(my_string, my_data, last_val, index_val+1)

def all_lex(my_string):
   length = len(my_string)

   my_data = [""] * (length+1)
   my_string = sorted(my_string)
   lex_recurrence(my_string, my_data, length-1, 0)

my_string = "MQ"
print("The string is :")
print(my_string)
print("All permutations with repetition of " + my_string + " are...")
all_lex(my_string)

Đầu ra

The string is :
MQ
All permutations with repetition of MQ are...
MM
MQ
QM
QQ

Giải thích

  • Phương thức có tên ‘to_string’ được xác định sẽ nhận một danh sách làm tham số và trả về nó bằng cách kết hợp tất cả các giá trị.

  • Một phương thức khác có tên là ‘lex_recency’ được xác định sẽ nhận một chuỗi, các giá trị chỉ mục làm tham số.

  • Nó lặp lại theo chiều dài của chuỗi và kiểm tra xem giá trị cuối cùng và giá trị chỉ mục có giống nhau hay không.

  • Nếu có, nó được in dưới dạng kết hợp.

  • Nếu không, phương thức được gọi lại bằng cách tăng giá trị của chỉ mục.

  • Một phương thức khác có tên ‘all_lex’ được định nghĩa để sắp xếp chuỗi bằng phương thức ‘sorted’ và gọi lại phương thức trước đó.

  • Bên ngoài phương thức, một chuỗi được xác định và hiển thị trên bảng điều khiển.

  • Đầu ra được hiển thị trên bảng điều khiển.