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

Chương trình Python để in các Từ có thể sử dụng các ký tự đã cho

Trong hướng dẫn này, chúng ta sẽ tìm tất cả các từ có thể có với các ký tự đã cho. Hãy xem một số trường hợp thử nghiệm để hiểu rõ hơn.

Input:
words = ["hi", "hello", "bye", "good"]
characters = ["h", "i", "b", "y", "e"]
Output:
hi
bye

Hãy làm theo các bước dưới đây để đạt được mục tiêu của chúng ta.

Thuật toán

1. Initialize the words and characters list.
2. Write a function which returns a dictionary containing a count of each char of the word.
   2.1. Initialise an empty dictionary.
   2.2. Iterate through the word, and increment char count by one if already present else initialise it with one.
   2.3. After the loop return dictionary.
3. Iterate through the words list.
   3.1. Initialise a variable flag with 1.
   3.2. Find char count with the help of above function and store it in a variable.
   3.3. Iterate through the above-returned dictionary.
      3.3.1. Check whether the key is in the characters or not.
         3.3.1.1. If not present, make the flag to zero.
      3.3.2 Else check for the equality count of character in characters and dictionary.
         3.3.2.1. If not equal, make a flag to zero.
3.4. If the flag is equal to one.
   3.4.1. Print the word.

Hãy triển khai thuật toán trên.

Ví dụ

## initializing the lists
words = ["hi", "hello", "bye", "good"]
characters = ["h", "i", "b", "y", "e"]
## function which returns dictionary containing char counts
def char_count(word):
   ## initializing an empty dictionary
   char_count = {}
   ## loop to find the frequency of the chars
   for char in word:
      ## incrementing the char count by one
      char_count[char] = char_count.get(char, 0) + 1
   ## returning dictionary
   return char_count
## iterating through the words list
for word in words:
   ## initializing flag to one
   flag = 1
   ## getting the char count using char_count() function
   chars = char_count(word)
   ## iterating through the chars
   for key in chars:
      ## checking for the presence of key in the characters
      if key not in characters:
         ## updating the flag value to zero
         flag = 0
      else:
         ## comparing the count of chars in chars and characters
         if characters.count(key) != chars[key]:
            ## updating the flag value to zero
            flag = 0
      ## checking the flag value
      if flag == 1:
         print(word)

Đầu ra

Nếu bạn chạy chương trình trên, bạn sẽ nhận được kết quả sau.

hi
bye

Kết luận

Nếu bạn có bất kỳ nghi ngờ nào về hướng dẫn, hãy đề cập đến chúng trong phần bình luận.