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

靴を売ることでどれだけのお金が稼げるかを調べるPythonプログラム


靴屋に、サイズと呼ばれる配列に異なるサイズの靴がn個あり、需要と呼ばれるm人の顧客のペアの別のリストが与えられているとします。サイズがshoe_sizeで、指定された金額を支払うことができる靴の需要。これらの靴を売ることで店主がどれだけのお金を稼ぐことができるかを見つけなければなりません。

したがって、入力が靴のような場合=[2,3,4,5,6,8,7,6,5,18]需要=[(6,55)、(6,45)、(6,55) 、(4,40)、(18,60)、(10,50)]の場合、出力は200になります。

  • 最初の靴はサイズ6の靴を55ドルで購入します

  • 2つ目はサイズ6の靴を45ドルで購入します

  • サイズ6の靴は在庫にありません

  • 4つ目はサイズ4の靴を40ドルで購入します

  • 5つ目は、サイズ18の靴を60ドルで購入します

  • サイズ10の靴がないため、6番目の靴は靴を履きません


合計収益55+45 + 40 + 60=200。


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

  • n:=需要の大きさ
  • サイズ:=サイズに基づく靴の頻度を含むマップ
  • 稼ぐ:=0
  • 0からn-1の範囲のiの場合、do
    • (sz、価格):=デマンド[i]
    • サイズszの靴がサイズで存在する場合、
      • サイズ[sz]:=サイズ[sz]-1
      • 稼ぐ:=稼ぐ+価格
  • 収益を返す

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

from collections import Counter
def solve(shoes, demand):
   n = len(demand)
   sizes = Counter(shoes)
   earn = 0
   for i in range(n):
      sz, price = demand[i]
      if sizes[sz]:
         sizes[sz] -= 1
         earn += price
   return earn

shoes = [2,3,4,5,6,8,7,6,5,18]
demand = [(6,55), (6,45), (6,55), (4,40), (18,60), (10,50)]
print(solve(shoes, demand))

入力

[2,3,4,5,6,8,7,6,5,18], [(6,55), (6,45), (6,55), (4,40), (18,60),
(10,50)]

出力

200

  1. Pythonプログラムを実行する方法は?

    コードを記述したら、コードを実行して実行し、出力を取得する必要があります。プログラムを実行すると、コードが正しく記述され、目的の出力が生成されるかどうかを確認できます。 Pythonプログラムの実行は非常に簡単な作業です。 IDLEで実行 IDLEでPythonプログラムを実行するには、指定された手順に従います- Pythonコードを記述して保存します。 プログラムを実行するには、[モジュールの実行]に移動します または、F5をクリックするだけです。 コマンドラインで実行 Pythonスクリプトファイルは「.py」拡張子で保存されます。 Pythonスクリプトを保存したら

  2. Pythonですべての木を燃やすのにかかる日数を見つけるためのプログラム

    3つのタイプのセルがあるフォレストを表す2Dマトリックスがあるとします。0空のセル1ツリーセル2火のセルのツリー毎日、隣接するセル(上、下、左、右、対角線)木が燃えています。すべての木が燃えるのにかかる日数を見つけなければなりません。それが不可能な場合は-1を返します。 したがって、入力が次のような場合 1 2 1 1 0 1 1 1 1 その場合、出力は4になります これを解決するには、次の手順に従います- ans:=0 twos:=新しいリスト 行列の行数が0から行数の範囲のiについては、 0か