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

特定のシリーズの完全な平方をフィルタリングするPythonプログラム


入力

シリーズがあると仮定します

0    14
1    16
2    30
3    49
4    80

出力

完全な正方形要素の結果は、

です。
0    4
1    16
3    49

ソリューション1

正規表現とラムダ関数フィルターメソッドを使用して、完全な二乗値を見つけることができます。

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

  • ラムダフィルターメソッドを適用して、値が完全な正方形であるかどうかを確認します。以下に定義されています

   l = [14,16,30,49,80]
   data=pd.Series([14,16,30,49,80])
   result =pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
  • 最後に、isin()関数を使用してシリーズの値のリストを確認します。

import pandas as pd
import math as m
l = [4,16,30,49,80]
data = pd.Series(l)
print(data)
lis = []
for i in range(len(data)):
   for j in data:
      if(data[i]==int(m.sqrt(j)+0.5)**2):
         lis.append(data[i])
print(“Perfect squares in the series: \n”, data[data.isin(lis)])

出力

Given series:
0    4
1    16
2    30
3    49
4    80
dtype: int64
Perfect Squares in the series:
0    4
1    16
3    49
dtype: int64

ソリューション2

import re
import math as m
l = [14,16,30,49,80]
data = pd.Series([14,16,30,49,80])
print(“Given series:\n”, data)
result = pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
print(data[data.isin(result)])

出力

Given series:
0    14
1    16
2    30
3    49
4    80
dtype: int64
Perfect squares:
1    16
3    49
dtype: int64

  1. 与えられた数をチェックするプログラムはPythonのフィボナッチ用語です

    nという数があるとします。 nがフィボナッチ数列に存在するかどうかを確認する必要があります。フィボナッチ数列でわかっているように、2からnまでの各iについてf(i)=f(i-1)+ f(i-2)、f(0)=0、f(1)=1です。 したがって、入力がn =13の場合、出力はTrueになります。これは、フィボナッチ数列のいくつかの項が0、1、1、2、3、5、8、13、21、34であるため、34が存在するためです。 。 これを解決するには、次の手順に従います- phi:=0.5 + 0.5 *(5.0)の平方根 a:=phi * n nが0と同じか、aが整数の場合、trueを返します

  2. Pythonで指定されたインデックスを使用して文字列をシャッフルするプログラム

    文字列sとインデックスindのリストがあり、それらは同じ長さであるとします。文字列sは、位置iの文字が最終文字列のindexes[i]に移動するようにシャッフルされます。最後の文字列を見つける必要があります。 したがって、入力がs =ktoalak ind =[0,5,1,6,2,4,3]の場合、出力は「コルカタ」になります これを解決するには、次の手順に従います- fin_str:=サイズがsと同じで、0で埋められるリスト sの各インデックスiと文字vについて、実行します fin_str [ind [i]]:=v fin_strに存在する各文字を結合し