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

Pythonで有効な回文


英数字の値と記号を含む文字列があるとします。小文字と大文字もあります。文字列が回文を形成しているかどうかは、小文字(大文字は小文字に変換されます)、コンマ、スペースなどの他の記号のみを考慮して確認する必要があります。

文字列が「男、計画、運河:パナマ」のようなものであるとすると、これらのルールを考慮すると、「アマナプラナカナルパナマ」になります。これは回文です。

これを解決するには、次の手順に従います-

  • define x =“”
  • str −
      の各文字cを読み取ります
    • cが小文字または数字の場合は、cをxに追加します
    • それ以外の場合、cは大文字で、小文字に変換してxの後に追加します
  • xが回文の場合は、Trueを返し、それ以外の場合はFalseを返します

理解を深めるために実装を見てみましょう

class Solution(object):
   def isPalindrome(self, s):
      """
      :type s: str
      :rtype: bool
      """
      x = ""
      diff = ord('a') - ord('A')
      for i in s:
         if ord(i)>=ord('a') and ord(i)<=ord('z') or ord(i)>=ord("0") and ord(i)<=ord("9"):
            x+=i
         elif ord(i)>=ord('A') and ord(i)<=ord('Z'):
            i = chr(diff+ord(i))
            x+=i
      #print(s)
      #print(x)
      return x == x[::-1]
ob1 = Solution()
print(ob1.isPalindrome("A Man, a Plan, a Canal: Panama"))

入力

s = "A Man, a Plan, a Canal: Panama"

出力

true

  1. Pythonの回文数

    整数があるとします。整数が回文であるかどうかを確認する必要があります。つまり、整数は順方向または逆方向の両方で同じであり、その数は回文です。たとえば、番号が454であるとすると、逆にすると再び454になります。これが回文です。ここで、数値が-565の場合、その逆は565-になります。これは同じではないため、これは回文ではありません。 これを解決するために、数値を文字列として変換してから、文字列を逆にします。文字列と逆文字列が同じ場合、番号は回文です。したがって、その場合はtrueを返し、それ以外の場合はfalseを返します。 理解を深めるために実装を見てみましょう 例 class Solu

  2. 文字列が回文であるかどうかをチェックするPythonプログラム

    文字列が与えられた場合、私たちのタスクは、この文字列が回文であるかどうかを確認することです。 アルゴリズム Step1: Enter string as an input. Step2: Using string slicing we reverse the string and compare it back to the original string. Step3: Then display the result. サンプルコード my_string=input("Enter string:") if(my_string==my_string[::-1]): &nbs