Python
 Computer >> コンピューター >  >> プログラミング >> Python

指定された文字を使用して可能な単語を印刷するPythonプログラム


このチュートリアルでは、指定された文字で可能なすべての単語を検索します。理解を深めるために、いくつかのテストケースを見てみましょう。

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

以下の手順に従って、目標を達成しましょう。

アルゴリズム

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.

上記のアルゴリズムを実装しましょう。

## 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)

出力

上記のプログラムを実行すると、次の結果が得られます。

hi
bye

結論

チュートリアルについて疑問がある場合は、コメントセクションにその旨を記載してください。


  1. 指定された文字列のすべての順列を出力するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列の可能なすべての順列を表示するために必要な文字列が与えられます。 次に、以下の実装のソリューションを見てみましょう- 例 # conversion def toString(List):    return ''.join(List) # permutations def permute(a, l, r):    if l == r:       print (toString(a))    e

  2. 文字列に偶数の長さの単語を出力するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を指定すると、文字列内のすべての単語を均等な長さで表示する必要があります。 アプローチ split()関数を使用して入力文字列を分割します。 forを使用して文字列の単語を繰り返し処理します ループ& len()を使用して単語の長さを計算します 機能。 長さが均等であると評価されると、単語が画面に表示されます。 それ以外の場合、画面に単語は表示されません。 次に、以下の実装を見てみましょう- 例 def printWords(s): # split