私はPythonの新しい人です。今日、いくつかのデータセットから最大値のペアを取得するプログラムを書いていますが、私が書いたプログラムは正しく答えませんでした。コードはなぜ間違った結果が表示されるのですか?
#!/usr/bin/python
import sys
maxsale = 0
oldKey = None
# Loop around the data
# It will be in the format key\tval
# Where key is the store name, val is the sale amount
#
# All the sales for a particular store will be presented,
# then the key will change and we'll be dealing with the next store
for line in sys.stdin:
data_mapped = line.strip().split("\t")
if len(data_mapped) != 2:
# Something has gone wrong. Skip this line.
continue
thisKey, thisSale = data_mapped
if oldKey and oldKey != thisKey:
print oldKey, "\t", maxsale
oldKey = thisKey;
oldsale = 0
oldKey = thisKey
if maxsale < thisSale:
maxsale = thisSale
if oldKey != None:
print oldKey, "\t", maxsale
データセットは次のとおりです。
Anchorage 298.86
Anchorage 6.38
Aurora 34.1
Aurora 10.6
Aurora 55.7
Austin 327.75
Austin 379.6
Austin 469.63
Austin 11.6
結果は次のとおりです。?
Anchorage 6.38
Aurora 34.1
Austin 469.63
誰も私がこの問題に対処することができありがとうI前進!