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

Pythonで別の文字列を2桁回転させて、文字列を取得できるかどうかを確認します


2つの文字列sとtがあるとします。左右の任意の方向にtを2回転させて、sを取得できるかどうかを確認する必要があります。

したがって、入力がs ="kolkata" t ="takolka"の場合、「takolka」を左側に2回回転して「kolkata」を取得できるため、出力はTrueになります。

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

  • sのサイズがtのサイズと同じでない場合、
    • Falseを返す
  • right_rot:=空白の文字列
  • left_rot:=空白の文字列
  • l:=tのサイズ
  • left_rot:=left_rot concatenate t [from index l-2 to end] concatenate t [from index 0 to l-3]
  • right_rot:=right_rot concatenate t [from index 2 to end] concatenate t [from index 0 to 1]
  • (sがright_rotと同じ、またはsがleft_rotと同じ)場合はtrueを返し、それ以外の場合はfalseを返します

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

def solve(s, t):
   if (len(s) != len(t)):
      return False
   right_rot = ""
   left_rot = ""
   l = len(t)
   left_rot = (left_rot + t[l - 2:] + t[0: l - 2])
   right_rot = right_rot + t[2:] + t[0:2]
   return (s == right_rot or s == left_rot)
s = "kolkata"
t = "takolka"
print(solve(s, t))

入力

"kolkata", "takolka"

出力

True

  1. Pythonで文字列が英数字かどうかを確認するにはどうすればよいですか?

    Python Stringクラスには、文字列に対して呼び出すことができるisalnum()というメソッドがあり、文字列が英数字のみで構成されているかどうかを通知します。次の方法で呼び出すことができます: >>> '123abc'.isalnum() True >>> '123#$%abc'.isalnum() False 同じ結果に正規表現を使用することもできます。アルファ数値を照合するには、正規表現 ^ [a-zA-Z0-9] + $を使用してre.match(regex、string)を呼び出すことができます。たとえば、

  2. Pythonで部分文字列が別の文字列に含まれているかどうかを確認する方法

    Pythonには、文字列が別の文字列のサブ文字列であるかどうかを検索するためのキーワード「in」があります。例 print('ello' in 'hello world')  出力 True サブストリングの最初のインデックスも必要な場合は、find(substr)を使用してインデックスを検索できます。このメソッドが-1を返す場合は、文字列に部分文字列が存在しないことを意味します。たとえば、 print("hello world".find('ello')) 出力  1 文字列「ハリーポッター:炎の