Python#collectionsのCounter使う

Pythonのcollectionsの中にあるCounterを使ってみます。
Counterは配列の中に各Elementの数をまとめて返してくれます。

keys()はElementの名前と、

values()はElementの数をもらいます。

>>from collections import Counter

>>li=[1,1,1,1,4,5,3,3,6,6,6,7[
>>Counter(li)
>>({1:4,6:3,3:2,4:1,5:1,7:1})
>>li.keys()
>>dict_keys{[1,4,5,3,6,7]}
>>li.values()
>>dict_keys{[4,1,1,2,3,1]}

では以下は簡単なCodeです。

いまは靴屋さんがやっています。パソコンから以下の管理をやっています:

  1. 各Sizeの靴の数を入れます。
    6 6 7 8 9 7 8 9のような入力で、
    つまりSize6の靴2、Size7の靴も2つみたいな感じです。
  2. Customerの数を入れます。
  3. 次は客が靴を購入します。Sizeとその値段を入力します。
    6 50
    7 20のような入力で、
    つまりSize6が50ドルを売れます、Size7の靴は20ドルで売れます。
    いまの売上あ50+20になります。
    その分はStockを減らします。もしStockが0になったら、もちろん売れないですね。
  4. 最後は売上を加算し、Printします。
from collections import Counter

def changeInput2list():
return [int (x) for x in input().split()]

#
shoes=int(input())
shoes_stock=changeInput2list()

counter_shoes_stock=Counter(shoes_stock)
shoes_size=list(counter_shoes_stock.keys())
shoes_current_stock=list(counter_shoes_stock.values())

customers=int(input())
sales=0

for i in range(customers):
data=[]
data=changeInput2list()
if data[0] in shoes_size:
j=shoes_size.index(data[0])
if shoes_current_stock[j]>0:
shoes_current_stock[j]-=1
sales+=data[1]

print(sales)
Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする