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

Pythonでプログラムを作成して、特定の級数の腕の強い数をフィルタリングします


アームストロング数をフィルタリングするためのシリーズと結果があると仮定します。

original series is
0    153
1    323
2    371
3    420
4    500
dtype: int64
Armstrong numbers are:-
0    153
2    371
dtype: int64

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

  • シリーズを定義します。

  • 空のリストを作成し、すべての系列データにアクセスするためのforループを設定します。

  • armstrongの初期値を0に設定し、一連の要素を1つずつ格納するための一時変数を作成します。以下に定義されています

l = []
for val in data:
   armstrong = 0
   temp = val
  • whileループを作成し、temp> 0を確認し、temp%10で剰余を計算します。余りの3乗をとってアームストロング値を追加し、0に達するまで一時値を10で割って、ループを終了します。以下に定義されています

while(temp>0):
   rem = temp % 10
   armstrong = armstrong + (rem**3)
   temp = temp // 10
  • 元の値を一時的な値と比較するif条件を設定します。一致する場合は、値をリストに追加します。

if(armstrong==val):
   l.append(val)
  • 最後に、isin()を使用して、シリーズに存在するリスト値を確認します。以下に定義されています

data[data.isin(l)]

より良い実装を得るために、以下のコードを見てみましょう-

import pandas as pd
data = pd.Series([153,323,371,420,500])
print("original series is\n", data)
l = []
for val in data:
   armstrong = 0
   temp = val
   while(temp>0):
      rem = temp % 10
      armstrong = armstrong + (rem**3)
      temp = temp // 10
   if(armstrong==val):
      l.append(val)
print("Armstrong numbers are:-")
print(data[data.isin(l)])

出力

original series is
0    153
1    323
2    371
3    420
4    500
dtype: int64
Armstrong numbers are:-
0    153
2    371
dtype: int64

  1. 与えられた数Nの桁数を数えるプログラムをPythonで書く

    数値Nを指定したとしましょう。タスクは、数値に存在する桁の総数を見つけることです。たとえば、 入力-1 − N = 891452 出力 − 6 説明 −指定された番号891452には6桁が含まれているため、この場合は「6」を返します。 入力-2 − N = 0074515 出力 − 5 説明 −指定された番号0074515には5桁が含まれているため、出力を5として出力します。 この問題を解決するために使用されるアプローチ この問題は次の方法で解決できます 数字として入力「n」を取ります。 関数countDigits(n)は、入力「n」を受け取り、出力として桁数

  2. ある間隔で数値を出力するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 間隔の開始範囲と終了範囲を指定します。指定された間隔ですべての数値を印刷する必要があります。 素数は1より大きい自然数であり、1とそれ自体以外に正の約数はありません。 2つのforループがあります。最初のforループは区間内の数値を取得するためのもので、2番目のループは数値が素数であるかどうかをチェックするためのものです。 それでは、実装を見てみましょう。 例 start = 10 end = 29 for val in range(start, end + 1): # If nu