Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 일부 요소를 제거한 후 배열의 평균을 찾는 프로그램

<시간/>

nums라는 배열이 있다고 가정하고 요소의 가장 작은 5%와 가장 큰 5%를 제거한 후 나머지 값의 평균을 찾아야 합니다.

따라서 입력이 nums =[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]인 경우 , 출력은 4.0이 됩니다. 가장 작은 값과 가장 큰 값을 제거한 후 모두 동일하고 중앙값은

이기 때문입니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 목록 번호 정렬

  • n :=숫자 크기

  • per :=(n*5/100)의 몫

  • l2 :=인덱스 당에서 (숫자의 크기 - 당 - 1)

    까지의 숫자 하위 배열
  • x :=l2에 있는 모든 요소의 평균

  • x를 반환

예제(파이썬)

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(nums):
   nums.sort()

   n = len(nums)
   per = int(n*5/100)
   l2 = nums[per:len(nums)-per]

   x = sum(l2)/len(l2)

   return x

nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
print(solve(nums))

입력

[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]

출력

4.0