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

文字列をチェックするPythonプログラムは、スタックを使用した回文です


スタックデータ構造を使用して文字列が回文であるかどうかを確認する必要がある場合は、スタッククラスが作成され、スタックに値を追加および削除するためのプッシュメソッドとポップメソッドが定義されます。別のメソッドは、スタックが空かどうかを確認します。

以下は同じのデモンストレーションです-

class Stack_structure:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def push_val(self, data):
      self.items.append(data)

   def pop_val(self):
      return self.items.pop()

my_instance = Stack_structure()
text_input = input('Enter the string... ')

for character in text_input:
   my_instance.push_val(character)

reversed_text = ''
while not my_instance.check_empty():
   reversed_text = reversed_text + my_instance.pop_val()

if text_input == reversed_text:
   print("The string is a palindrome")
else:
print("The string isn't a palindrome")

出力

Enter the string... MalayalaM
The string is a palindrome

説明

  • 「Stack_structure」という名前のクラスは、「init」メソッドで定義されています。

  • このメソッドは空のリストを初期化します。

  • スタックが空かどうかをチェックする「check_empty」という名前の別のメソッドが定義されています。

  • スタックに要素を追加する「push_val」という名前の別のメソッドが定義されています。

  • スタックから要素を削除する「pop_val」という名前の別のメソッドが定義されています。

  • この「Stack_structure」のインスタンスが定義されています。

  • 文字列はユーザ​​ーから取得されます。

  • これが繰り返され、「check_empty」メソッドが呼び出されます。

  • 別の空の文字列が定義され、文字列が逆になります。

  • この反転した文字列は空の文字列に格納されます。

  • この逆の文字列とユーザーからの文字列が比較されます。

  • それらが同じである場合、それは回文であることを意味します。

  • それ以外の場合は、回文ではありません。

  • 関連する出力がコンソールに表示されます。


  1. 指定された文字列が母音回文であるかどうかを確認するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列(母音と子音の両方の文字を含む)が与えられ、すべての子音を削除してから、結果の文字列が回文であるかどうかを確認します。 ここでは、最初に文字列に存在するすべての子音を削除します。各値を1から計算された最小値まで除算することによって計算されて除数を計算するループ 条件が真であると評価されるたびに、カウンターは1ずつ増加します。 文字列内のすべての子音を削除します。ここで、母音の文字列が回文であるかどうか、つまり、指定された文字列とその反転が同一であるかどうかを確認します。それがpalindromep

  2. 文字列が回文であるかPythonを使用していないかを確認する方法は?

    Pythonの標準ライブラリのreveresed()関数を使用します。リストオブジェクトに変換できる反転オブジェクトを返します >>> str1='malayalam' >>> l1=list(reversed(str1)) >>> l1 ['m', 'a', 'l', 'a', 'y', 'a', 'l', 'a', 'm'] join()メソッドを使用してリスト内のすべての文字