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

Pythonですべての文字が辞書式順序で次の文字よりも大きくなるような文字列を見つけます


数nがあるとします。長さn+1の小文字の文字列をチェックして、任意の位置の文字が辞書式順序で次の文字よりも大きくなるようにする必要があります。

したがって、入力が15のような場合、出力はponmlkjihgfedcbaになります。

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

  • temp_str:=空白の文字列
  • extra:=n mod 26
  • 余分な>=1の場合、
    • 26-(追加+1)から25の範囲のiの場合、
      • temp_str:=temp_str + str [i]
    • count:=n / 26(整数除算)
    • 範囲1のiの場合は+1をカウントし、
      • 0〜25の範囲のjについては、
        • temp_str:=temp_str + str [j]
  • return temp_str

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

def show_string(n, str):
   temp_str = ""
   extra = n % 26
   if (extra >= 1) :
      for i in range( 26 - (extra + 1), 26):
         temp_str += str[i]
   count = n // 26
   for i in range(1, count + 1) :
      for j in range(26):
         temp_str += str[j]
   return temp_str
n = 15
str = "zyxwvutsrqponmlkjihgfedcba"
print(show_string(n, str))

入力

15

出力

ponmlkjihgfedcba

  1. Pythonのリストのリストのすべての位置で指定された文字の頻度を検索します

    リストを要素として構成されたリストがあるシナリオを考えてみましょう。内部リストのさまざまな位置にある1つの文字の頻度を見つけることに関心があります。以下の例で要件を明確にします。 以下に示すリストのリストを検討してください。 listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']] abobeリストには、3

  2. 指定された文字列内の各文字の出現を検索するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列が与えられたので、与えられた文字列内の各文字の出現を見つける必要があります。 ここでは、以下で説明する3つのアプローチについて説明します。L アプローチ1-ブルートフォースアプローチ 例 test_str = "Tutorialspoint" #count dictionary count_dict = {} for i in test_str:    #for existing characters in the dictionary   &nbs