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

スコアの辞書から各学生の平均スコアを見つけるPythonプログラム


学生のマークの辞書があるとします。キーは名前で、マークは数字のリストです。各生徒の平均を見つける必要があります。

したがって、入力がスコアのような場合={'Amal':[25,36,47,45]、'Bimal':[85,74,69,47]、'Tarun':[65,35,87,14 ]、'Akash':[74,12,36,75]}の場合、出力は[38.25、68.75、50.25、49.25]になるため、38.25はAmalの平均スコア、68.75はBimalの平均スコアなどです。

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

  • avg_scores:=新しいマップ
  • スコア辞書の名前ごとに、
    • avg_scores [name]:=リストに存在するスコアの平均scores [name]
  • avg_scoresのすべての値のリストを返す

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

def solve(scores):
   avg_scores = dict()
   for name in scores:
      avg_scores[name] = sum(scores[name])/len(scores[name])

return list(avg_scores.values())

scores = {'Amal' : [25,36,47,45],'Bimal' : [85,74,69,47],'Tarun' : [65,35,87,14],'Akash' : [74,12,36,75]}
print(solve(scores))

入力

[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]

出力

[38, 68, 50, 49]

  1. Pythonで可能なすべての有効なパスから最大スコアを見つけるプログラム

    2つの配列nums1とnums2があるとします。有効なパスは次のように定義されます- トラバースするnums1またはnums2を選択します(インデックス0から)。 配列を左から右にトラバースします。 ここで、nums1とnums2に存在する値を移動している場合は、他の配列へのパスを変更できます。ここで、スコアは有効なパスの一意の値の合計です。考えられるすべての有効なパスから取得できる最大スコアを見つける必要があります。答えが大きすぎる場合は、10 ^ 9+7を法とする結果を返します。 したがって、入力がnums1 =[3,5,6,9,11] nums2 =[5,7,9,10

  2. リストからN個の最大の要素を見つけるPythonプログラム

    整数リストが与えられた場合、私たちのタスクはリスト内で最大のN個の要素を見つけることです。 例 Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] アルゴリズム Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest value and store it in a new list. 例 def Nnumbere