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

Pythonで文字列内のすべての文字の頻度が素数であるかどうかを確認します


文字列sがあるとします。 sの各文字の出現が素数であるかどうかを確認する必要があります

したがって、入力がs ="apuuppa"のような場合、2つの'a'、3つの'p'、および2つの' uがあるため、出力はTrueになります。

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

  • freq:=すべての文字とその頻度を含むマップ
  • freqの各文字について、次のようにします
    • freq [char]> 0で、freq [char]が素数でない場合、
      • Falseを返す
  • Trueを返す

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

サンプルコード

from collections import defaultdict

def isPrime(num):
   if num > 1:
      for i in range(2, num):
         if num % i == 0:
           return False
      return True
   return False
   
def solve(s):
   freq = defaultdict(int)
 
   for i in range(len(s)):
      freq[s[i]] += 1
           
   for char in freq:
      if freq[char] > 0 and isPrime(freq[char]) == False:
         return False
 
   return True

s = "apuuppa"
print(solve(s))
を返します

入力

"apuuppa"

出力

True

  1. PythonでNが二面素数であるかどうかを確認します

    数nがあるとします。 nが二面素数であるかどうかを確認する必要があります。数自体が素数であり、ディスプレイの向き(通常または上下逆)に関係なく、7セグメントディスプレイを使用して同じ数または他の素数が表示される場合、その数は二面素数であると言われます。 したがって、入力がn =1181のような場合、出力はTrueになります 2つ目は、1つ目の逆さまの形式で、どちらも素数です。 これを解決するには、次の手順に従います- 関数up_side_down()を定義します。これにはnがかかります temp:=n、total:=0 0の場合、do d:=temp mod 10

  2. Python-文字列のすべての文字の頻度が異なるかどうかを確認します

    この記事では、特定の文字列内の各文字の頻度を見つける方法を説明します。次に、指定された文字列で2つ以上の文字が同じ頻度であるかどうかを確認します。これは2つのステップで実行します。最初のプログラムでは、各キャラクターの頻度を調べます。 各キャラクターの頻度 ここでは、指定された入力画面の各文字の頻度を確認します。空の辞書を宣言してから、各文字を文字列として追加します。また、各文字にキーを割り当てて、辞書に必要なキーと値のペアを作成します。 例 in_string = "She sells sea shells" dic1 = {} for k in in_string: