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

準優勝スコアを見つけるPythonプログラム


さまざまな数の参加者のスコアのリストがあるとします。次点のスコアを見つける必要があります。

したがって、入力がスコア=[5,8,2,6,8,5,8,7]のようである場合、勝者のスコアは8で、2番目に大きいスコアは7であるため、出力は7になります。

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

  • 勝者:=-99999
  • runner_up:=-99999
  • スコアの各iについて、
    • 勝者の場合は
      • 勝者:=i
      • runner_up:=勝者
    • それ以外の場合、i<勝者およびi>runner_upの場合、
      • runner_up:=i
  • return runner_up

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

def solve(scores):
   winner = -99999
   runner_up = -99999
   for i in scores:
      if (i > winner):
         winner, runner_up = i, winner
      elif (i < winner and i > runner_up):
         runner_up = i
   return runner_up

scores = [5,8,2,6,8,5,8,7]
print(solve(scores))

入力

[5,8,2,6,8,5,8,7]

出力

7

  1. Pythonでポリゴンの領域を見つけるプログラム

    順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの領域を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は15になります。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です return x1 * y2-y1 * x2 メインの方法から、次の手順を実行します N:=ポイントのサイズ (firstx、firsty):=points [0] (prevx、prevy):=(fir

  2. Pythonでポリゴンの周囲を見つけるプログラム

    順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの周囲を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は16になります。 2つの辺の長さは3で、2つの辺の長さは5なので、2 * 5 + 2 * 3=16です。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です ユークリッド距離である((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))の平方根を返します (x1、y1)