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

Pythonを使用して文字列内の異なる整数の数を見つけるプログラム


小文字の英数字の文字列sがあるとします。数字以外のすべての文字をスペースに置き換える必要がありますが、少なくとも1つのスペースで区切られた整数が残っています。 sで置換操作を実行した後、異なる整数の数を見つける必要があります。ここで、先行ゼロのない10進表現が異なる場合、2つの数値は異なると見なされます。

したがって、入力がs ="ab12fg012th5er67"の場合、出力は3になります。これは、数値["12"、 "012"、 "5"、 "67"]が少なく、"12"と"012"であるためです。文字列は異なりますが、整数と同じです。したがって、3つの異なる番号があります。

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

  • nums:=新しいリスト

  • k:=空白の文字列

  • 0からsのサイズの範囲のiの場合、実行します

    • s[i]>47のASCIIおよびs[i]<58のASCIIの場合、

      • k:=k連結s[i]

    • それ以外の場合

      • kが空白の文字列でない場合、

        • numsの最後にkの整数形式を挿入します

        • k:=空白の文字列

  • kが空白の文字列でない場合、

    • numsの最後にkの整数形式を挿入します

  • 個別の要素の数をnumsで返します

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

def solve(s):
   nums = []
   k = ""
   for i in range(len(s)):
      if ord(s[i]) > 47 and ord(s[i]) < 58:
         k += s[i]
      else:
         if(k != ""):
            nums.append(int(k))
            k = ""
   if(k != ""):
      nums.append(int(k))
   return len(set(nums))
s = "ab12fg012th5er67"
print(solve(s))

入力

"ab12fg012th5er67"

出力

3

  1. Pythonプログラムで素数を見つけるためのさまざまな方法

    このチュートリアルでは、さまざまな方法を調べて、指定された番号が有効かどうかを確認します。それ以上の期限なしで始めましょう。 方法-1 素数を見つける一般的な方法です。 数値が1以下の場合は、Falseを返します。 数値が任意の数値で割り切れる場合、関数はFalseを返します。 ループの後、Trueを返します。 例 # checking for prime def is_prime(n):    if n <= 1:       return False    else:   &nbs

  2. 指定された文字列のsetを使用して母音の数をカウントするPythonプログラム

    このプログラムでは、ユーザー入力文字列を指定します。この文字列の母音の数を数える必要があります。ここでは、Pythonでsetを使用します。 Setは、反復可能、変更可能で、重複する要素がない、順序付けされていないコレクションデータ型です。 例 Input str1=pythonprogram Output 3 アルゴリズム Step 1: first we use one counter variable which is used to count the vowels in the string. Step 2: creating a set of vowels. Step 3: the