私の割り当ては、リストの中央平均を得ることです。これは他のいくつかのポストのようなものです(https://codereview.stackexchange.com/questions/108404/how-to-get-a-centered-mean-excluding-max-and-min-value-of-a-list-in-pythonなど)。しかし、私の教授は、これを解決するためにmin、max、sortを使用することは許されていないと教えてくれました。それでは、私が今持っていることはこれです、それはまだ進行中の作業です:Python、キャッチで中心平均を得る
def centered_average(nums):
high=0
low=0
a=0
b=0
for i in range(len(nums)):
if nums[i]>a:
a=nums[i]
high=a
for i in range(len(nums)):
if nums[i]<b:
b=nums[i]
low=b
total=sum(nums)
average=(total-high-low)/(len(nums)-2)
print(average)
私の問題は、私は低いが、リストの中で最も小さい番号として認識されるように得ることができないということです。たとえば、リストとして[1,2,3,4,5]を入力した場合、私の関数は、2 + 3 + 4が9/8であるため、ハイとして5、ローとして1、 3 = 3となる。しかし、私がそこに持っているものは0を低く返します。最初の数字が0だと思うのでレンズ(数値)のためだと思います。これをどのように修正するべきかわかりません。
ノート:私はこの物の初心者ですので、私が持っているものが最高でないかもしれないことを知っているか、エラーを修正するのは簡単かもしれませんが、まだ学習の過程にあるので、はるかに高く評価。
'nums [i] algrebe
私はnum [i]> aのようにセットアップしたときに、highを正しく返す理由はありますか? –
「1> 0(初期化されたa)」、「2> 1」、「3> 2」、「4> 3」、「5> 4」です。しかし、最小の場合、何も0未満です。 – algrebe