私はいくつかの整数に対して実行中の中央値を取得しようとしています。たとえば、6つの要素が1つずつ順番に来るとします。各入力の実行中の中央値がそれぞれ12,8,5,4,5,6,5である12,4,5,3,8,7としましょう。私はPythonのコードを書いたが、それは間違った答えを与えるようだ。ヘルプは高く評価されます。実行中の中央値を取得する際にエラーが発生しました
n = int(raw_input().strip())
s=[]
for i in xrange(n):
a=int(raw_input())
if len(s)==0:
s.append(a)
print "%.1f" % a
else:
for j in xrange(len(s)):
if a<s[j]:
s.insert(j,a)
if a>=s[-1]:
s.append(a)
if len(s)%2==0:
print "%.1f" % float((s[len(s)/2] + s[len(s)/2 -1])/2.0)
else:
print "%.1f" % s[len(s)/2]
問題になっている6つの出力です。あなたは4.5を2つのアウトプットとして読んでいます。 – user2357112
@ user2357112あなたは正しいです、私はもっと寝る必要があります、編集されます。 – MooingRawr